HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //tmp/altaira-hb/openapi.json
{"openapi":"3.1.0","info":{"title":"Mission Control API","version":"0.1.0"},"paths":{"/health":{"get":{"tags":["health"],"summary":"Health Check","description":"Lightweight liveness probe endpoint.","operationId":"health_health_get","responses":{"200":{"description":"Service is alive.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthStatusResponse"},"example":{"ok":true}}}}}}},"/healthz":{"get":{"tags":["health"],"summary":"Health Alias Check","description":"Alias liveness probe endpoint for platform compatibility.","operationId":"healthz_healthz_get","responses":{"200":{"description":"Service is alive.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthStatusResponse"},"example":{"ok":true}}}}}}},"/readyz":{"get":{"tags":["health"],"summary":"Readiness Check","description":"Readiness probe endpoint for service orchestration checks.","operationId":"readyz_readyz_get","responses":{"200":{"description":"Service is ready.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthStatusResponse"},"example":{"ok":true}}}}}}},"/api/v1/auth/bootstrap":{"post":{"tags":["auth"],"summary":"Bootstrap Authenticated User Context","description":"Resolve caller identity from auth headers and return the canonical user profile. This endpoint does not accept a request body.","operationId":"bootstrap_user_api_v1_auth_bootstrap_post","responses":{"200":{"description":"Authenticated user profile resolved from token claims.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"},"example":{"id":"11111111-1111-1111-1111-111111111111","clerk_user_id":"user_2abcXYZ","email":"alex@example.com","name":"Alex Chen","preferred_name":"Alex","pronouns":"they/them","timezone":"America/Los_Angeles","notes":"Primary operator for board triage.","context":"Handles incident coordination and escalation.","is_super_admin":false}}}},"401":{"description":"Caller is not authenticated as a user actor.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"},"example":{"detail":{"code":"unauthorized","message":"Not authenticated"},"code":"unauthorized","retryable":false}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agent/healthz":{"get":{"tags":["agent","agent-lead","agent-worker","agent-main"],"summary":"Agent Auth Health Check","description":"Token-authenticated liveness probe for agent API clients.\n\nUse this endpoint when the caller needs to verify both service availability and agent-token validity in one request.","operationId":"agent_healthz_api_v1_agent_healthz_get","parameters":[{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentHealthStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_auth_health","x-when-to-use":["Verify agent token validity before entering an automation loop","Confirm agent API availability with caller identity context"],"x-when-not-to-use":["General infrastructure liveness checks that do not require auth context","Task, board, or messaging workflow actions"],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token via X-Agent-Token header"],"x-side-effects":["May refresh agent last-seen presence metadata via auth middleware"],"x-negative-guidance":["Do not parse this response as an array.","Do not use this endpoint for task routing decisions."],"x-routing-policy":["Use this as the first probe for agent-scoped automation health.","Use /healthz only for unauthenticated service-level liveness checks."],"x-routing-policy-examples":[{"input":{"intent":"agent startup probe with token verification","required_privilege":"any_agent"},"decision":"agent_auth_health"},{"input":{"intent":"platform-level probe with no agent token","required_privilege":"none"},"decision":"service_healthz"}]}},"/api/v1/agent/boards":{"get":{"tags":["agent","agent-lead","agent-worker","agent-main"],"summary":"List boards visible to the caller","description":"Return boards the authenticated agent can access.\n\nUse this as a discovery step before board-scoped operations.","operationId":"list_boards_api_v1_agent_boards_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_BoardRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_board_discovery","x-when-to-use":["Discover boards available to the current agent","Build a board selection list before read/write operations"],"x-when-not-to-use":["Use direct board-id endpoints when the target board is already known","Use task-only views when board context is not needed"],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Read access policy enforcement applied"],"x-side-effects":["No persisted side effects"],"x-negative-guidance":["Do not use as a task mutation mechanism.","Do not treat this as a strict inventory cache endpoint."],"x-routing-policy":["Use for board discovery before board-scoped actions.","Fallback to board-specific fetch or task routes once target is known."],"x-routing-policy-examples":[{"input":{"intent":"agent needs boards to plan next actions","required_privilege":"any_agent"},"decision":"agent_board_discovery"},{"input":{"intent":"board target is known","required_privilege":"any_agent"},"decision":"agent_get_board"}]}},"/api/v1/agent/boards/{board_id}":{"get":{"tags":["agent","agent-lead","agent-worker","agent-main"],"summary":"Fetch a board by id","description":"Read a single board entity if it is visible to the authenticated agent.\n\nUse for targeted planning and routing decisions.","operationId":"get_board_api_v1_agent_boards__board_id__get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_board_lookup","x-when-to-use":["Resolve board metadata before creating or updating board tasks","Validate board context before routing actions"],"x-when-not-to-use":["Bulk discovery of all accessible boards","Task list mutation workflows without board context"],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Target board id must be accessible"],"x-side-effects":["No persisted side effects"],"x-negative-guidance":["Do not call for creating or mutating board fields.","Do not use when board_id is unknown; discover first."],"x-routing-policy":["Use when a specific board id is known and validation of scope is needed.","Use task list endpoints for repeated board-scoped task discovery."],"x-routing-policy-examples":[{"input":{"intent":"agent needs full board context for planning","required_privilege":"any_agent"},"decision":"agent_board_lookup"},{"input":{"intent":"need multiple accessible boards first","required_privilege":"any_agent"},"decision":"agent_board_discovery"}]}},"/api/v1/agent/agents":{"get":{"tags":["agent","agent-lead","agent-worker","agent-main"],"summary":"List visible agents","description":"Return agents visible to the caller, optionally filtered by board.\n\nUse when downstream routing or coordination needs recipient actors.","operationId":"list_agents_api_v1_agent_agents_get","parameters":[{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_AgentRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_roster_discovery","x-when-to-use":["Discover agents available for assignment or coordination","Build actor lists for lead and worker handoffs"],"x-when-not-to-use":["Fetching one specific agent identity (use agent lookup route if available)","Mutating agent state"],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Optional board_id filter scoped by caller access"],"x-side-effects":["No persisted side effects"],"x-negative-guidance":["Do not use for agent lifecycle changes.","Do not assume full global visibility when filtered by board scopes."],"x-routing-policy":["Use when coordination needs a roster and not a single agent lookup.","Use task or direct nudge endpoints for one-off actor targeting."],"x-routing-policy-examples":[{"input":{"intent":"find eligible agents on a board","required_privilege":"any_agent"},"decision":"agent_roster_discovery"},{"input":{"intent":"target one agent for coordination","required_privilege":"board_lead"},"decision":"agent_lead_nudge_agent"}]},"post":{"tags":["agent","agent-lead"],"summary":"Create a board agent as lead","description":"Register a new board agent and attach it to the lead's board.\n\nThe target board is derived from the caller identity and cannot be changed in payload.","operationId":"agent_lead_create_agent","parameters":[{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCreate"}}}},"responses":{"200":{"description":"Agent provisioned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRead"}}}},"403":{"description":"Caller is not board lead","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"409":{"description":"Agent creation conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"422":{"description":"Payload validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}}},"x-llm-intent":"agent_management","x-when-to-use":["Need a new specialist for a board task flow","Scaling workforce with role-based agents"],"x-when-not-to-use":["Updating an existing agent","Creating non-board global actors"],"x-required-actor":"board_lead","x-prerequisites":["Authenticated board lead","Valid AgentCreate payload"],"x-side-effects":["Creates agent row","Initializes lifecycle metadata","May trigger downstream provisioning"],"x-negative-guidance":["Do not use for modifying existing agents.","Do not create non-board agents through this endpoint."],"x-routing-policy":["Use for first-time board agent onboarding and specialist expansion.","Use agent update endpoint for profile changes on an existing actor."],"x-routing-policy-examples":[{"input":{"intent":"board lead needs a new specialist agent","required_privilege":"board_lead"},"decision":"agent_lead_create_agent"},{"input":{"intent":"agent needs profile patch only","required_privilege":"board_lead"},"decision":"agent update payload path"}]}},"/api/v1/agent/boards/{board_id}/tasks":{"get":{"tags":["agent","agent-lead","agent-worker"],"summary":"List Tasks","description":"List tasks on a board with status/assignment filters.\n\nCommon patterns:\n- worker: fetch assigned inbox/in-progress tasks\n- lead: fetch unassigned inbox tasks for delegation","operationId":"list_tasks_api_v1_agent_boards__board_id__tasks_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"assigned_agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned Agent Id"}},{"name":"unassigned","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Unassigned"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_TaskRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_board_task_discovery","x-when-to-use":["Agent needs board task list for work selection or queue management.","Lead needs a filtered view for delegation planning."],"x-when-not-to-use":["Use a more specific endpoint for direct state mutation or direct messaging."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["Read/write side effects vary by endpoint semantics."],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use when the request intent matches this board-scoped route.","Prefer dedicated mutation/read routes once intent is narrowed."],"x-routing-policy-examples":[{"input":{"intent":"get assigned tasks for current agent","required_privilege":"any_agent"},"decision":"agent_board_task_discovery"},{"input":{"intent":"find unassigned backlog for delegation","required_privilege":"board_lead"},"decision":"agent_board_task_discovery"}]},"post":{"tags":["agent","agent-lead"],"summary":"Create and assign a new board task as a lead agent","description":"Create a new task on a board and persist lead metadata.\n\nUse when a lead needs to introduce new work, create dependencies, or directly assign ownership.\nDo not use for task updates or comments; those are separate endpoints.","operationId":"agent_lead_create_task","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreate"}}}},"responses":{"200":{"description":"Task created and persisted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskRead"}}}},"403":{"description":"Caller is not board lead","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"404":{"description":"Assigned target agent does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"409":{"description":"Dependency or assignment validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"422":{"description":"Payload validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}}},"x-llm-intent":"delegate_work","x-when-to-use":["Lead needs to create a new backlog item for the board","Lead must set dependencies before work execution starts","Lead wants to assign an owner and notify another agent"],"x-when-not-to-use":["Updating an existing task","Adding progress comment","Pushing non-governed automation updates"],"x-required-actor":"board_lead","x-prerequisites":["Authenticated lead token","board_id must be visible to lead","Optional tag/dependency IDs must exist"],"x-side-effects":["Creates a new task row","Creates dependency links","Writes tag/custom field entries","Rejects creation if dependency/assignment invariants fail"],"x-negative-guidance":["Do not call when updating an existing task or comment.","Do not mix owner reassignment with unknown dependency IDs."],"x-routing-policy":["Lead-only routing: use this when converting a new board item into a task.","Fallback routing: use task update endpoints when the task already exists."],"x-routing-policy-examples":[{"input":{"intent":"lead wants to create a new issue with a new assignee","required_privilege":"board_lead"},"decision":"agent_lead_create_task"},{"input":{"intent":"existing task needs edits after creation","required_privilege":"board_lead"},"decision":"agent_boards_task_update"}]}},"/api/v1/agent/boards/{board_id}/tags":{"get":{"tags":["agent","agent-lead","agent-worker"],"summary":"List Tags","description":"List available tags for the board's organization.\n\nUse returned ids in task create/update payloads (`tag_ids`).","operationId":"list_tags_api_v1_agent_boards__board_id__tags_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagRef"},"title":"Response List Tags Api V1 Agent Boards  Board Id  Tags Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_board_tag_discovery","x-when-to-use":["Agent needs available tags before creating or updating task payloads."],"x-when-not-to-use":["Use a more specific endpoint for direct state mutation or direct messaging."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["Read/write side effects vary by endpoint semantics."],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use when the request intent matches this board-scoped route.","Prefer dedicated mutation/read routes once intent is narrowed."],"x-routing-policy-examples":[{"input":{"intent":"resolve tag id for assignment update","required_privilege":"any_agent"},"decision":"agent_board_tag_discovery"}]}},"/api/v1/agent/boards/{board_id}/webhooks/{webhook_id}/payloads/{payload_id}":{"get":{"tags":["agent","agent-lead","agent-worker"],"summary":"Get Webhook Payload","description":"Fetch a stored webhook payload (agent-accessible, read-only).\n\nThis enables board-scoped agents to backfill dropped webhook events and enforce\nidempotency by inspecting previously received payloads.\n\nIf `max_chars` is provided and the serialized payload exceeds the limit,\nthe response payload is returned as a truncated string preview.","operationId":"get_webhook_payload_api_v1_agent_boards__board_id__webhooks__webhook_id__payloads__payload_id__get","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Webhook Id"}},{"name":"payload_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Payload Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"max_chars","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":1000000,"minimum":1},{"type":"null"}],"title":"Max Chars"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardWebhookPayloadRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_board_webhook_payload_read","x-when-to-use":["Agent needs to inspect a previously captured webhook payload for this board.","Agent is reconciling missed webhook events or deduping inbound processing."],"x-when-not-to-use":["Use a more specific endpoint for direct state mutation or direct messaging."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["Read/write side effects vary by endpoint semantics."],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use when the request intent matches this board-scoped route.","Prefer dedicated mutation/read routes once intent is narrowed."],"x-routing-policy-examples":[{"input":{"intent":"inspect stored webhook payload by id","required_privilege":"any_agent"},"decision":"agent_board_webhook_payload_read"},{"input":{"intent":"list tasks for planning","required_privilege":"any_agent"},"decision":"agent_board_task_discovery"}]}},"/api/v1/agent/boards/{board_id}/tasks/{task_id}":{"patch":{"tags":["agent","agent-lead","agent-worker"],"summary":"Update Task","description":"Update a task after board-level authorization checks.\n\nSupports status, assignment, dependencies, and optional inline comment.","operationId":"update_task_api_v1_agent_boards__board_id__tasks__task_id__patch","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_task_update","x-when-to-use":["Task state, ownership, dependencies, or inline status changes are needed.","Board member needs to publish progress updates to an existing task."],"x-when-not-to-use":["Use a more specific endpoint for direct state mutation or direct messaging."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["Read/write side effects vary by endpoint semantics."],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use when the request intent matches this board-scoped route.","Prefer dedicated mutation/read routes once intent is narrowed."],"x-routing-policy-examples":[{"input":{"intent":"worker updates task status and notes","required_privilege":"any_agent"},"decision":"agent_task_update"},{"input":{"intent":"lead reassigns ownership for load balancing","required_privilege":"board_lead"},"decision":"agent_task_update"}]},"delete":{"tags":["agent","agent-lead","agent-worker"],"summary":"Delete a task as board lead","description":"Delete a board task and related records.\n\nThis action is restricted to board lead agents.","operationId":"delete_task_api_v1_agent_boards__board_id__tasks__task_id__delete","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_task_delete","x-when-to-use":["Board lead needs to permanently remove an obsolete, duplicate, or invalid task."],"x-when-not-to-use":["Use task updates when status changes or reassignment is sufficient."],"x-required-actor":"board_lead","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["Deletes task comments, dependencies, tags, custom field values, and linked records."],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use when the request intent matches this board-scoped route.","Prefer dedicated mutation/read routes once intent is narrowed."],"x-routing-policy-examples":[{"input":{"intent":"lead removes a duplicate task","required_privilege":"board_lead"},"decision":"agent_task_delete"}]}},"/api/v1/agent/boards/{board_id}/tasks/{task_id}/comments":{"get":{"tags":["agent","agent-lead","agent-worker"],"summary":"List Task Comments","description":"List task comments visible to the authenticated agent.\n\nRead this before posting updates to avoid duplicate or low-value comments.","operationId":"list_task_comments_api_v1_agent_boards__board_id__tasks__task_id__comments_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_TaskCommentRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_task_comment_discovery","x-when-to-use":["Review prior discussion before posting or modifying task comments."],"x-when-not-to-use":["Use a more specific endpoint for direct state mutation or direct messaging."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["Read/write side effects vary by endpoint semantics."],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use when the request intent matches this board-scoped route.","Prefer dedicated mutation/read routes once intent is narrowed."],"x-routing-policy-examples":[{"input":{"intent":"read collaboration history before sending updates","required_privilege":"any_agent"},"decision":"agent_task_comment_discovery"}]},"post":{"tags":["agent","agent-lead","agent-worker"],"summary":"Create Task Comment","description":"Create a task comment as the authenticated agent.\n\nThis is the primary collaboration/log surface for task progress.","operationId":"create_task_comment_api_v1_agent_boards__board_id__tasks__task_id__comments_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCommentCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCommentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_task_comment_create","x-when-to-use":["Worker or lead needs to log progress, blockers, or coordination notes."],"x-when-not-to-use":["Use a more specific endpoint for direct state mutation or direct messaging."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["Read/write side effects vary by endpoint semantics."],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use when the request intent matches this board-scoped route.","Prefer dedicated mutation/read routes once intent is narrowed."],"x-routing-policy-examples":[{"input":{"intent":"add progress update comment","required_privilege":"any_agent"},"decision":"agent_task_comment_create"}]}},"/api/v1/agent/boards/{board_id}/memory":{"get":{"tags":["agent","agent-lead","agent-worker"],"summary":"List Board Memory","description":"List board memory with optional chat filtering.\n\nUse `is_chat=false` for durable context and `is_chat=true` for board chat.","operationId":"list_board_memory_api_v1_agent_boards__board_id__memory_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"is_chat","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Chat"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_BoardMemoryRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_board_memory_discovery","x-when-to-use":["Agent needs board memory context before planning or status updates.","Agent needs to inspect durable context for coordination continuity."],"x-when-not-to-use":["Use a more specific endpoint for direct state mutation or direct messaging."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["Read/write side effects vary by endpoint semantics."],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use when the request intent matches this board-scoped route.","Prefer dedicated mutation/read routes once intent is narrowed."],"x-routing-policy-examples":[{"input":{"intent":"load board context before work planning","required_privilege":"any_agent"},"decision":"agent_board_memory_discovery"}]},"post":{"tags":["agent","agent-lead","agent-worker"],"summary":"Create Board Memory","description":"Create a board memory entry.\n\nUse tags to indicate purpose (e.g. `chat`, `decision`, `plan`, `handoff`).","operationId":"create_board_memory_api_v1_agent_boards__board_id__memory_post","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardMemoryCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardMemoryRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_board_memory_record","x-when-to-use":["Persist board-level context, decision, or handoff notes.","Archive chat-like coordination context for cross-agent continuity."],"x-when-not-to-use":["Use a more specific endpoint for direct state mutation or direct messaging."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["Creates a board memory entry"],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use when new board context should be persisted."],"x-routing-policy-examples":[{"input":{"intent":"record decision context for future turns","required_privilege":"any_agent"},"decision":"agent_board_memory_record"}]}},"/api/v1/agent/boards/{board_id}/approvals":{"get":{"tags":["agent","agent-lead","agent-worker"],"summary":"List Approvals","description":"List approvals for a board.\n\nUse status filtering to process pending approvals efficiently.","operationId":"list_approvals_api_v1_agent_boards__board_id__approvals_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["pending","approved","rejected"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_ApprovalRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_board_approval_discovery","x-when-to-use":["Agent needs to inspect outstanding approvals before acting on risky work.","Lead needs to monitor unresolved approvals on board operations."],"x-when-not-to-use":["Use a more specific endpoint for direct state mutation or direct messaging."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["Read/write side effects vary by endpoint semantics."],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use when the request intent matches this board-scoped route.","Prefer dedicated mutation/read routes once intent is narrowed."],"x-routing-policy-examples":[{"input":{"intent":"check pending approvals for a task","required_privilege":"any_agent"},"decision":"agent_board_approval_discovery"}]},"post":{"tags":["agent","agent-lead","agent-worker"],"summary":"Create Approval","description":"Create an approval request for risky or low-confidence actions.\n\nInclude `task_id` or `task_ids` to scope the decision precisely.","operationId":"create_approval_api_v1_agent_boards__board_id__approvals_post","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_board_approval_request","x-when-to-use":["Agent needs formal approval before unsafe or high-risk actions."],"x-when-not-to-use":["Use a more specific endpoint for direct state mutation or direct messaging."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["Read/write side effects vary by endpoint semantics."],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use when the request intent matches this board-scoped route.","Prefer dedicated mutation/read routes once intent is narrowed."],"x-routing-policy-examples":[{"input":{"intent":"request guardrail before risky execution","required_privilege":"any_agent"},"decision":"agent_board_approval_request"}]}},"/api/v1/agent/boards/{board_id}/onboarding":{"post":{"tags":["agent","agent-lead","agent-worker"],"summary":"Update Onboarding","description":"Apply board onboarding updates from an agent workflow.\n\nUsed during structured objective/success-metric intake loops.","operationId":"update_onboarding_api_v1_agent_boards__board_id__onboarding_post","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BoardOnboardingAgentComplete"},{"$ref":"#/components/schemas/BoardOnboardingAgentQuestion"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardOnboardingRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_board_onboarding_update","x-when-to-use":["Initialize or refresh agent onboarding state for board workflows."],"x-when-not-to-use":["Use a more specific endpoint for direct state mutation or direct messaging."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["Read/write side effects vary by endpoint semantics."],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use when the request intent matches this board-scoped route.","Prefer dedicated mutation/read routes once intent is narrowed."],"x-routing-policy-examples":[{"input":{"intent":"record onboarding signal during workflow handoff","required_privilege":"any_agent"},"decision":"agent_board_onboarding_update"}]}},"/api/v1/agent/boards/{board_id}/agents/{agent_id}/nudge":{"post":{"tags":["agent","agent-lead"],"summary":"Nudge an agent on a board","description":"Send a direct coordination message to a specific board agent.\n\nUse this when a lead sees stalled, idle, or misaligned work.","operationId":"agent_lead_nudge_agent","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentNudge"}}}},"responses":{"200":{"description":"Nudge dispatched","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"403":{"description":"Caller is not board lead","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"404":{"description":"Target agent does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"422":{"description":"Target agent cannot be reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"502":{"description":"Gateway dispatch failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}}},"x-llm-intent":"agent_coordination","x-when-to-use":["Need to re-engage a worker quickly","Clarify expected output with a targeted nudge"],"x-when-not-to-use":["Mass notification to all agents","Escalation requiring human confirmation"],"x-required-actor":"board_lead","x-prerequisites":["Authenticated board lead","Target agent on same board","nudge message content present"],"x-side-effects":["Emits coordination event","Persists nudge correlation for audit"],"x-negative-guidance":["Do not use for broadcast messages.","Do not use when no explicit target and no follow-up is required."],"x-routing-policy":["Use for individual stalled or idle agent re-engagement.","Use broadcast route when multiple leads need synchronized coordination."],"x-routing-policy-examples":[{"input":{"intent":"one worker is idle on an assigned task","required_privilege":"board_lead"},"decision":"agent_lead_nudge_agent"},{"input":{"intent":"many leads need same instruction","required_privilege":"main_agent"},"decision":"agent_main_broadcast_lead_message"}]}},"/api/v1/agent/heartbeat":{"post":{"tags":["agent","agent-lead","agent-worker","agent-main"],"summary":"Upsert agent heartbeat","description":"Record liveness for the authenticated agent.\n\nUse this when the agent heartbeat loop checks in.","operationId":"agent_heartbeat_api_v1_agent_heartbeat_post","parameters":[{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_heartbeat","x-when-to-use":["Agents should periodically update heartbeat to reflect liveness","Report transient status transitions for monitoring and routing"],"x-when-not-to-use":["Do not use for user-facing notifications.","Do not call with another agent identifier (agent is inferred)."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","No request payload required"],"x-side-effects":["Updates agent heartbeat and status metadata","May emit activity for monitoring consumers"],"x-negative-guidance":["Do not send heartbeat updates at excessive frequencies.","Do not use heartbeat as task assignment signal."],"x-routing-policy":["Use for periodic lifecycle status telemetry.","Do not use when the same actor needs a task-specific action."],"x-routing-policy-examples":[{"input":{"intent":"agent is returning from busy/idle status change","required_privilege":"any_agent"},"decision":"agent_heartbeat"},{"input":{"intent":"agent needs to escalate stalled task","required_privilege":"board_lead"},"decision":"agent_lead_nudge_agent"}]}},"/api/v1/agent/boards/{board_id}/agents/{agent_id}/soul":{"get":{"tags":["agent","agent-lead","agent-worker"],"summary":"Get Agent Soul","description":"Fetch an agent's SOUL.md content.\n\nAllowed for board lead, or for an agent reading its own SOUL.","operationId":"get_agent_soul_api_v1_agent_boards__board_id__agents__agent_id__soul_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Get Agent Soul Api V1 Agent Boards  Board Id  Agents  Agent Id  Soul Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_board_soul_lookup","x-when-to-use":["Need an agent's SOUL guidance before deciding task instructions.","Lead or same-agent needs current role instructions for coordination."],"x-when-not-to-use":["Use a more specific endpoint for direct state mutation or direct messaging."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated agent token","Board access is validated before execution"],"x-side-effects":["No persisted side effects"],"x-negative-guidance":["Avoid this endpoint when a focused sibling endpoint handles the action."],"x-routing-policy":["Use for read-only retrieval of agent instruction sources.","Use task-specific channels for temporary guidance instead of stored SOUL."],"x-routing-policy-examples":[{"input":{"intent":"read actor behavior guidance","required_privilege":"board_lead_or_same_actor"},"decision":"agent_board_soul_lookup"}]},"put":{"tags":["agent","agent-lead"],"summary":"Update an agent's SOUL template","description":"Write SOUL.md content for a board agent and persist it for reprovisioning.\n\nUse this when role instructions or behavior guardrails need updates.","operationId":"agent_lead_update_agent_soul","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SoulUpdateRequest"}}}},"responses":{"200":{"description":"SOUL updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"403":{"description":"Caller is not board lead","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"404":{"description":"Board or target agent not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"422":{"description":"SOUL content is invalid or empty","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"502":{"description":"Gateway sync failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}}},"x-llm-intent":"agent_knowledge_authoring","x-when-to-use":["Updating role behavior and recurring instructions","Changing runbook or policy defaults for an agent"],"x-when-not-to-use":["Posting transient task-specific guidance","Requesting human answer (use gateway ask-user)"],"x-required-actor":"board_lead","x-prerequisites":["Authenticated board lead","Non-empty SOUL content","Target agent scoped to board"],"x-side-effects":["Updates soul_template in persistence","Syncs gateway-visible SOUL content","Creates coordination trace"],"x-negative-guidance":["Do not use for short, one-off task guidance.","Do not use for transient playbook snippets; use task comments instead."],"x-routing-policy":["Use when updating recurring role behavior or runbook defaults.","Use task or gateway messages when scope is transient."],"x-routing-policy-examples":[{"input":{"intent":"lead wants to permanently change agent guardrails","required_privilege":"board_lead"},"decision":"agent_lead_update_agent_soul"},{"input":{"intent":"temporary note for current task","required_privilege":"board_lead"},"decision":"task comment creation endpoint"}]}},"/api/v1/agent/boards/{board_id}/agents/{agent_id}":{"delete":{"tags":["agent","agent-lead"],"summary":"Delete a board agent as lead","description":"Permanently remove a board agent and tear down associated lifecycle state.\n\nUse sparingly; prefer reassignment for continuity-sensitive teams.","operationId":"agent_lead_delete_board_agent","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Agent deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"}}}},"403":{"description":"Caller is not board lead","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"404":{"description":"Board agent not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"agent_lifecycle","x-when-to-use":["Removing duplicates or decommissioning temporary agents","Cleaning up after phase completion"],"x-when-not-to-use":["Temporary pausing (use status controls)","Migrating data ownership without actor removal"],"x-required-actor":"board_lead","x-prerequisites":["Authenticated board lead","Agent scoped to same board"],"x-side-effects":["Deletes agent row and lifecycle state","Potentially revokes in-flight actions for deleted actor"],"x-negative-guidance":["Do not delete when temporary suspension is sufficient.","Do not use as an ownership transfer mechanism."],"x-routing-policy":["Use only for permanent removal or decommission completion.","Use status updates for pause/enable workflows."],"x-routing-policy-examples":[{"input":{"intent":"agent role is no longer needed and should be removed","required_privilege":"board_lead"},"decision":"agent_lead_delete_board_agent"},{"input":{"intent":"agent needs temporary stop","required_privilege":"board_lead"},"decision":"agent status/assignment update"}]}},"/api/v1/agent/boards/{board_id}/gateway/main/ask-user":{"post":{"tags":["agent","agent-lead"],"summary":"Ask the human via gateway-main","description":"Escalate a high-impact decision or ambiguity through the gateway-main interaction channel.\n\nUse when lead-level context needs human confirmation or consent.","operationId":"agent_lead_ask_user_via_gateway_main","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayMainAskUserRequest"}}}},"responses":{"200":{"description":"Escalation accepted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayMainAskUserResponse"}}}},"403":{"description":"Caller is not board lead","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"404":{"description":"Board context missing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"502":{"description":"Gateway main handoff failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-llm-intent":"human_escalation","x-when-to-use":["Need explicit user confirmation","Blocking ambiguity requires human preference input"],"x-when-not-to-use":["Routine status notes","Low-signal alerts without action required"],"x-required-actor":"board_lead","x-prerequisites":["Authenticated board lead","Configured gateway-main routing"],"x-side-effects":["Sends user-facing ask","Records escalation metadata"],"x-negative-guidance":["Do not use this for operational routing to another board lead.","Do not use when there is no blocking ambiguity or consent requirement."],"x-routing-policy":["Use when user permission or preference is required.","Use lead-message route when you need an agent-to-lead control handoff."],"x-routing-policy-examples":[{"input":{"intent":"human consent required for permission-sensitive change","required_privilege":"board_lead"},"decision":"agent_lead_ask_user_via_gateway_main"},{"input":{"intent":"lead needs coordination from main, no user permission required","required_privilege":"agent_main"},"decision":"agent_main_message_board_lead"}]}},"/api/v1/agent/gateway/boards/{board_id}/lead/message":{"post":{"tags":["agent","agent-main"],"summary":"Message board lead via gateway-main","description":"Route a direct lead handoff or question from an agent to the board lead.\n\nUse when a lead requires explicit, board-scoped routing.","operationId":"agent_main_message_board_lead","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Board Id"}},{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayLeadMessageRequest"}}}},"responses":{"200":{"description":"Lead message sent","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayLeadMessageResponse"}}}},"403":{"description":"Caller cannot message board lead","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"404":{"description":"Board or gateway binding not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"422":{"description":"Gateway configuration missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"502":{"description":"Gateway dispatch failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}}},"x-llm-intent":"lead_direct_routing","x-when-to-use":["Need a single lead response for a specific board","Need a routed handoff that is not user-facing"],"x-when-not-to-use":["Broadcast message to multiple board leads","Human consent loops (use ask-user route)"],"x-required-actor":"agent_main","x-prerequisites":["Board lead destination available","Valid GatewayLeadMessageRequest payload"],"x-side-effects":["Creates direct lead routing dispatch","Records correlation and status"],"x-negative-guidance":["Do not use when your request must fan out to many leads.","Do not use for human permission questions."],"x-routing-policy":["Use for single-board lead communication with direct follow-up.","Use broadcast route only when multi-board or multi-lead fan-out is needed."],"x-routing-policy-examples":[{"input":{"intent":"agent needs one lead review for board-specific blocker","required_privilege":"agent_main"},"decision":"agent_main_message_board_lead"},{"input":{"intent":"same notice needed across many leads","required_privilege":"agent_main"},"decision":"agent_main_broadcast_lead_message"}]}},"/api/v1/agent/gateway/leads/broadcast":{"post":{"tags":["agent","agent-main"],"summary":"Broadcast a message to board leads via gateway-main","description":"Send a shared coordination request to multiple board leads.\n\nUse for urgent cross-board or multi-lead fan-out patterns.","operationId":"agent_main_broadcast_lead_message","parameters":[{"name":"X-Agent-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Agent-Token"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayLeadBroadcastRequest"}}}},"responses":{"200":{"description":"Broadcast completed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayLeadBroadcastResponse"}}}},"403":{"description":"Caller cannot broadcast via gateway-main","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"404":{"description":"Gateway binding not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"422":{"description":"Gateway configuration missing or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}},"502":{"description":"Gateway dispatch partially failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMErrorResponse"}}}}},"x-llm-intent":"lead_broadcast_routing","x-when-to-use":["Need to notify many leads with same context","Need aligned action across multiple board leads"],"x-when-not-to-use":["Single lead interaction is required","Human-facing consent request"],"x-required-actor":"agent_main","x-prerequisites":["Gateway-main routing identity available","GatewayLeadBroadcastRequest payload"],"x-side-effects":["Creates multi-recipient dispatch","Returns per-board status result entries"],"x-negative-guidance":["Do not use for sensitive single-lead tactical prompts.","Do not use for consent flows requiring explicit end-user input."],"x-routing-policy":["Use when intent spans multiple board leads or operational domains.","Use single-lead message route for board-specific point-to-point communication."],"x-routing-policy-examples":[{"input":{"intent":"urgent incident notice required for multiple leads","required_privilege":"agent_main"},"decision":"agent_main_broadcast_lead_message"},{"input":{"intent":"single lead requires clarification before continuing","required_privilege":"agent_main"},"decision":"agent_main_message_board_lead"}]}},"/api/v1/agents":{"get":{"tags":["agents"],"summary":"List Agents","description":"List agents visible to the active organization admin.","operationId":"list_agents_api_v1_agents_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id"}},{"name":"gateway_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Gateway Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_AgentRead_"},"example":{"items":[{"board_id":"11111111-1111-1111-1111-111111111111","name":"Ops triage lead","status":"provisioning","heartbeat_config":{"interval_seconds":30,"missing_tolerance":120},"identity_profile":{"role":"incident_lead","skill":"triage"},"identity_template":"You are a senior incident response lead.","soul_template":"When critical blockers appear, escalate in plain language.","id":"string","gateway_id":"string","is_board_lead":false,"is_gateway_main":false,"openclaw_session_id":"sess_01J...","last_seen_at":"string","created_at":"string","updated_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["agents"],"summary":"Create Agent","description":"Create and provision an agent.","operationId":"create_agent_api_v1_agents_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCreate"},"example":{"board_id":"11111111-1111-1111-1111-111111111111","name":"Ops triage lead","status":"provisioning","heartbeat_config":{"interval_seconds":30,"missing_tolerance":120},"identity_profile":{"role":"incident_lead","skill":"triage"},"identity_template":"You are a senior incident response lead.","soul_template":"When critical blockers appear, escalate in plain language."}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRead"},"example":{"board_id":"11111111-1111-1111-1111-111111111111","name":"Ops triage lead","status":"provisioning","heartbeat_config":{"interval_seconds":30,"missing_tolerance":120},"identity_profile":{"role":"incident_lead","skill":"triage"},"identity_template":"You are a senior incident response lead.","soul_template":"When critical blockers appear, escalate in plain language.","id":"string","gateway_id":"string","is_board_lead":false,"is_gateway_main":false,"openclaw_session_id":"sess_01J...","last_seen_at":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/agents/stream":{"get":{"tags":["agents"],"summary":"Stream Agents","description":"Stream agent updates as SSE events.","operationId":"stream_agents_api_v1_agents_stream_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/agents/{agent_id}":{"get":{"tags":["agents"],"summary":"Get Agent","description":"Get a single agent by id.","operationId":"get_agent_api_v1_agents__agent_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRead"},"example":{"board_id":"11111111-1111-1111-1111-111111111111","name":"Ops triage lead","status":"provisioning","heartbeat_config":{"interval_seconds":30,"missing_tolerance":120},"identity_profile":{"role":"incident_lead","skill":"triage"},"identity_template":"You are a senior incident response lead.","soul_template":"When critical blockers appear, escalate in plain language.","id":"string","gateway_id":"string","is_board_lead":false,"is_gateway_main":false,"openclaw_session_id":"sess_01J...","last_seen_at":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"patch":{"tags":["agents"],"summary":"Update Agent","description":"Update agent metadata and optionally reprovision.","operationId":"update_agent_api_v1_agents__agent_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentUpdate"},"example":{"board_id":"22222222-2222-2222-2222-222222222222","is_gateway_main":false,"name":"Ops triage lead","status":"active","heartbeat_config":{"interval_seconds":45},"identity_profile":{"role":"coordinator"},"identity_template":"Focus on root cause analysis first.","soul_template":"Escalate only after checking all known mitigations."}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRead"},"example":{"board_id":"11111111-1111-1111-1111-111111111111","name":"Ops triage lead","status":"provisioning","heartbeat_config":{"interval_seconds":30,"missing_tolerance":120},"identity_profile":{"role":"incident_lead","skill":"triage"},"identity_template":"You are a senior incident response lead.","soul_template":"When critical blockers appear, escalate in plain language.","id":"string","gateway_id":"string","is_board_lead":false,"is_gateway_main":false,"openclaw_session_id":"sess_01J...","last_seen_at":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"delete":{"tags":["agents"],"summary":"Delete Agent","description":"Delete an agent and clean related task state.","operationId":"delete_agent_api_v1_agents__agent_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/agents/{agent_id}/heartbeat":{"post":{"tags":["agents"],"summary":"Heartbeat Agent","description":"Record a heartbeat for a specific agent.","operationId":"heartbeat_agent_api_v1_agents__agent_id__heartbeat_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentHeartbeat"},"example":{"status":"healthy"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRead"},"example":{"board_id":"11111111-1111-1111-1111-111111111111","name":"Ops triage lead","status":"provisioning","heartbeat_config":{"interval_seconds":30,"missing_tolerance":120},"identity_profile":{"role":"incident_lead","skill":"triage"},"identity_template":"You are a senior incident response lead.","soul_template":"When critical blockers appear, escalate in plain language.","id":"string","gateway_id":"string","is_board_lead":false,"is_gateway_main":false,"openclaw_session_id":"sess_01J...","last_seen_at":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/agents/heartbeat":{"post":{"tags":["agents"],"summary":"Heartbeat Or Create Agent","description":"Heartbeat an existing agent or create/provision one if needed.","operationId":"heartbeat_or_create_agent_api_v1_agents_heartbeat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentHeartbeatCreate"},"example":{"status":"healthy","name":"Ops triage lead","board_id":"33333333-3333-3333-3333-333333333333"}}},"required":true,"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRead"},"example":{"board_id":"11111111-1111-1111-1111-111111111111","name":"Ops triage lead","status":"provisioning","heartbeat_config":{"interval_seconds":30,"missing_tolerance":120},"identity_profile":{"role":"incident_lead","skill":"triage"},"identity_template":"You are a senior incident response lead.","soul_template":"When critical blockers appear, escalate in plain language.","id":"string","gateway_id":"string","is_board_lead":false,"is_gateway_main":false,"openclaw_session_id":"sess_01J...","last_seen_at":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/activity":{"get":{"tags":["activity"],"summary":"List Activity","description":"List activity events visible to the calling actor.","operationId":"list_activity_api_v1_activity_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_ActivityEventRead_"},"example":{"items":[{"id":"string","event_type":"string","message":"string","agent_id":"string","task_id":"string","board_id":"string","route_name":"string","route_params":{"key":"string"},"created_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/activity/task-comments":{"get":{"tags":["activity"],"summary":"List Task Comment Feed","description":"List task-comment feed items for accessible boards.","operationId":"list_task_comment_feed_api_v1_activity_task_comments_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_ActivityTaskCommentFeedItemRead_"},"example":{"items":[{"id":"string","created_at":"string","message":"string","agent_id":"string","agent_name":"string","agent_role":"string","task_id":"string","task_title":"string","board_id":"string","board_name":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/activity/task-comments/stream":{"get":{"tags":["activity"],"summary":"Stream Task Comment Feed","description":"Stream task-comment events for accessible boards.","operationId":"stream_task_comment_feed_api_v1_activity_task_comments_stream_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/gateways/status":{"get":{"tags":["gateways"],"summary":"Gateways Status","description":"Return gateway connectivity and session status.","operationId":"gateways_status_api_v1_gateways_status_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Id"}},{"name":"gateway_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gateway Url"}},{"name":"gateway_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gateway Token"}},{"name":"gateway_disable_device_pairing","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Gateway Disable Device Pairing"}},{"name":"gateway_allow_insecure_tls","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Gateway Allow Insecure Tls"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewaysStatusResponse"},"example":{"connected":false,"gateway_url":"string","sessions_count":0,"sessions":[],"main_session_error":"string","error":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/gateways/sessions":{"get":{"tags":["gateways"],"summary":"List Gateway Sessions","description":"List sessions for a gateway associated with a board.","operationId":"list_gateway_sessions_api_v1_gateways_sessions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewaySessionsResponse"},"example":{"sessions":[]}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/gateways/sessions/{session_id}":{"get":{"tags":["gateways"],"summary":"Get Gateway Session","description":"Get a specific gateway session by key.","operationId":"get_gateway_session_api_v1_gateways_sessions__session_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewaySessionResponse"},"example":{}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/gateways/sessions/{session_id}/history":{"get":{"tags":["gateways"],"summary":"Get Session History","description":"Fetch chat history for a gateway session.","operationId":"get_session_history_api_v1_gateways_sessions__session_id__history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewaySessionHistoryResponse"},"example":{"history":[]}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/gateways/sessions/{session_id}/message":{"post":{"tags":["gateways"],"summary":"Send Gateway Session Message","description":"Send a message into a specific gateway session.","operationId":"send_gateway_session_message_api_v1_gateways_sessions__session_id__message_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewaySessionMessageRequest"},"example":{"content":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/gateways/commands":{"get":{"tags":["gateways"],"summary":"Gateway Commands","description":"Return supported gateway protocol methods and events.","operationId":"gateway_commands_api_v1_gateways_commands_get","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayCommandsResponse"},"example":{"protocol_version":0,"methods":["string"],"events":["string"]}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/gateways":{"get":{"tags":["gateways"],"summary":"List Gateways","description":"List gateways for the caller's organization.","operationId":"list_gateways_api_v1_gateways_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_GatewayRead_"},"example":{"items":[{"name":"string","url":"string","workspace_root":"string","allow_insecure_tls":false,"disable_device_pairing":false,"id":"string","organization_id":"string","token":"string","created_at":"string","updated_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["gateways"],"summary":"Create Gateway","description":"Create a gateway and provision or refresh its main agent.","operationId":"create_gateway_api_v1_gateways_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayCreate"},"example":{"name":"string","url":"string","workspace_root":"string","allow_insecure_tls":false,"disable_device_pairing":false,"token":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayRead"},"example":{"name":"string","url":"string","workspace_root":"string","allow_insecure_tls":false,"disable_device_pairing":false,"id":"string","organization_id":"string","token":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/gateways/{gateway_id}":{"get":{"tags":["gateways"],"summary":"Get Gateway","description":"Return one gateway by id for the caller's organization.","operationId":"get_gateway_api_v1_gateways__gateway_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gateway_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Gateway Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayRead"},"example":{"name":"string","url":"string","workspace_root":"string","allow_insecure_tls":false,"disable_device_pairing":false,"id":"string","organization_id":"string","token":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"patch":{"tags":["gateways"],"summary":"Update Gateway","description":"Patch a gateway and refresh the main-agent provisioning state.","operationId":"update_gateway_api_v1_gateways__gateway_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gateway_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Gateway Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayUpdate"},"example":{"name":"string","url":"string","token":"string","workspace_root":"string","allow_insecure_tls":false,"disable_device_pairing":false}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayRead"},"example":{"name":"string","url":"string","workspace_root":"string","allow_insecure_tls":false,"disable_device_pairing":false,"id":"string","organization_id":"string","token":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"delete":{"tags":["gateways"],"summary":"Delete Gateway","description":"Delete a gateway in the caller's organization.","operationId":"delete_gateway_api_v1_gateways__gateway_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gateway_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Gateway Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/gateways/{gateway_id}/templates/sync":{"post":{"tags":["gateways"],"summary":"Sync Gateway Templates","description":"Sync templates for a gateway and optionally rotate runtime settings.","operationId":"sync_gateway_templates_api_v1_gateways__gateway_id__templates_sync_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gateway_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Gateway Id"}},{"name":"include_main","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Main"}},{"name":"lead_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Lead Only"}},{"name":"reset_sessions","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reset Sessions"}},{"name":"rotate_tokens","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Rotate Tokens"}},{"name":"force_bootstrap","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force Bootstrap"}},{"name":"overwrite","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Overwrite"}},{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayTemplatesSyncResult"},"example":{"gateway_id":"string","include_main":false,"reset_sessions":false,"agents_updated":0,"agents_skipped":0,"main_updated":false,"errors":[{"agent_id":"string","agent_name":"string","board_id":"string","message":"string"}]}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/metrics/dashboard":{"get":{"tags":["metrics"],"summary":"Dashboard Metrics","description":"Return dashboard KPIs and time-series data for accessible boards.","operationId":"dashboard_metrics_api_v1_metrics_dashboard_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"range_key","in":"query","required":false,"schema":{"enum":["24h","3d","7d","14d","1m","3m","6m","1y"],"type":"string","default":"24h","title":"Range Key"}},{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id"}},{"name":"group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Group Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardMetrics"},"example":{"range":"24h","generated_at":"string","kpis":{"active_agents":0,"tasks_in_progress":0,"inbox_tasks":0,"in_progress_tasks":0,"review_tasks":0,"done_tasks":0,"error_rate_pct":0,"median_cycle_time_hours_7d":0},"throughput":{"primary":{"range":"24h","bucket":"hour","points":[{"period":"string","value":0}]},"comparison":{"range":"24h","bucket":"hour","points":[{"period":"string","value":0}]}},"cycle_time":{"primary":{"range":"24h","bucket":"hour","points":[{"period":"string","value":0}]},"comparison":{"range":"24h","bucket":"hour","points":[{"period":"string","value":0}]}},"error_rate":{"primary":{"range":"24h","bucket":"hour","points":[{"period":"string","value":0}]},"comparison":{"range":"24h","bucket":"hour","points":[{"period":"string","value":0}]}},"wip":{"primary":{"range":"24h","bucket":"hour","points":[{"period":"string","inbox":0,"in_progress":0,"review":0,"done":0}]},"comparison":{"range":"24h","bucket":"hour","points":[{"period":"string","inbox":0,"in_progress":0,"review":0,"done":0}]}},"pending_approvals":{"total":0,"items":[{"approval_id":"string","board_id":"string","board_name":"string","action_type":"string","confidence":0,"created_at":"string","task_title":"string"}]}}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/organizations":{"post":{"tags":["organizations"],"summary":"Create Organization","description":"Create an organization and assign the caller as owner.","operationId":"create_organization_api_v1_organizations_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationCreate"},"example":{"name":"string"}}},"required":true,"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRead"},"example":{"id":"string","name":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/organizations/me/list":{"get":{"tags":["organizations"],"summary":"List My Organizations","description":"List organizations where the current user is a member.","operationId":"list_my_organizations_api_v1_organizations_me_list_get","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrganizationListItem"},"type":"array","title":"Response List My Organizations Api V1 Organizations Me List Get"},"example":[{"id":"string","name":"string","role":"string","is_active":false}]}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/organizations/me/active":{"patch":{"tags":["organizations"],"summary":"Set Active Org","description":"Set the caller's active organization.","operationId":"set_active_org_api_v1_organizations_me_active_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationActiveUpdate"},"example":{"organization_id":"string"}}},"required":true,"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRead"},"example":{"id":"string","name":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/organizations/me":{"get":{"tags":["organizations"],"summary":"Get My Org","description":"Return the caller's active organization.","operationId":"get_my_org_api_v1_organizations_me_get","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRead"},"example":{"id":"string","name":"string","created_at":"string","updated_at":"string"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["organizations"],"summary":"Delete My Org","description":"Delete the active organization and related entities.","operationId":"delete_my_org_api_v1_organizations_me_delete","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/organizations/me/member":{"get":{"tags":["organizations"],"summary":"Get My Membership","description":"Get the caller's membership record in the active organization.","operationId":"get_my_membership_api_v1_organizations_me_member_get","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberRead"},"example":{"id":"string","organization_id":"string","user_id":"string","role":"string","all_boards_read":false,"all_boards_write":false,"created_at":"string","updated_at":"string","user":{"id":"string","email":"string","name":"string","preferred_name":"string"},"board_access":[{"id":"string","board_id":"string","can_read":false,"can_write":false,"created_at":"string","updated_at":"string"}]}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/organizations/me/members":{"get":{"tags":["organizations"],"summary":"List Org Members","description":"List members for the active organization.","operationId":"list_org_members_api_v1_organizations_me_members_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_OrganizationMemberRead_"},"example":{"items":[{"id":"string","organization_id":"string","user_id":"string","role":"string","all_boards_read":false,"all_boards_write":false,"created_at":"string","updated_at":"string","user":{"id":"string","email":"string","name":"string","preferred_name":"string"},"board_access":[{"id":"string","board_id":"string","can_read":false,"can_write":false,"created_at":"string","updated_at":"string"}]}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/organizations/me/members/{member_id}":{"get":{"tags":["organizations"],"summary":"Get Org Member","description":"Get a specific organization member by id.","operationId":"get_org_member_api_v1_organizations_me_members__member_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Member Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberRead"},"example":{"id":"string","organization_id":"string","user_id":"string","role":"string","all_boards_read":false,"all_boards_write":false,"created_at":"string","updated_at":"string","user":{"id":"string","email":"string","name":"string","preferred_name":"string"},"board_access":[{"id":"string","board_id":"string","can_read":false,"can_write":false,"created_at":"string","updated_at":"string"}]}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"patch":{"tags":["organizations"],"summary":"Update Org Member","description":"Update a member's role in the organization.","operationId":"update_org_member_api_v1_organizations_me_members__member_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Member Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberUpdate"},"example":{"role":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberRead"},"example":{"id":"string","organization_id":"string","user_id":"string","role":"string","all_boards_read":false,"all_boards_write":false,"created_at":"string","updated_at":"string","user":{"id":"string","email":"string","name":"string","preferred_name":"string"},"board_access":[{"id":"string","board_id":"string","can_read":false,"can_write":false,"created_at":"string","updated_at":"string"}]}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"delete":{"tags":["organizations"],"summary":"Remove Org Member","description":"Remove a member from the active organization.","operationId":"remove_org_member_api_v1_organizations_me_members__member_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Member Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/organizations/me/members/{member_id}/access":{"put":{"tags":["organizations"],"summary":"Update Member Access","description":"Update board-level access settings for a member.","operationId":"update_member_access_api_v1_organizations_me_members__member_id__access_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"member_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Member Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberAccessUpdate"},"example":{"all_boards_read":false,"all_boards_write":false,"board_access":[{"board_id":"string","can_read":false,"can_write":false}]}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberRead"},"example":{"id":"string","organization_id":"string","user_id":"string","role":"string","all_boards_read":false,"all_boards_write":false,"created_at":"string","updated_at":"string","user":{"id":"string","email":"string","name":"string","preferred_name":"string"},"board_access":[{"id":"string","board_id":"string","can_read":false,"can_write":false,"created_at":"string","updated_at":"string"}]}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/organizations/me/invites":{"get":{"tags":["organizations"],"summary":"List Org Invites","description":"List pending invites for the active organization.","operationId":"list_org_invites_api_v1_organizations_me_invites_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_OrganizationInviteRead_"},"example":{"items":[{"id":"string","organization_id":"string","invited_email":"string","role":"string","all_boards_read":false,"all_boards_write":false,"token":"string","created_by_user_id":"string","accepted_by_user_id":"string","accepted_at":"string","created_at":"string","updated_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["organizations"],"summary":"Create Org Invite","description":"Create an organization invite for an email address.","operationId":"create_org_invite_api_v1_organizations_me_invites_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationInviteCreate"},"example":{"invited_email":"string","role":"string","all_boards_read":false,"all_boards_write":false,"board_access":[{"board_id":"string","can_read":false,"can_write":false}]}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationInviteRead"},"example":{"id":"string","organization_id":"string","invited_email":"string","role":"string","all_boards_read":false,"all_boards_write":false,"token":"string","created_by_user_id":"string","accepted_by_user_id":"string","accepted_at":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/organizations/me/invites/{invite_id}":{"delete":{"tags":["organizations"],"summary":"Revoke Org Invite","description":"Revoke a pending invite from the active organization.","operationId":"revoke_org_invite_api_v1_organizations_me_invites__invite_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invite Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationInviteRead"},"example":{"id":"string","organization_id":"string","invited_email":"string","role":"string","all_boards_read":false,"all_boards_write":false,"token":"string","created_by_user_id":"string","accepted_by_user_id":"string","accepted_at":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/organizations/invites/accept":{"post":{"tags":["organizations"],"summary":"Accept Org Invite","description":"Accept an invite and return resulting membership.","operationId":"accept_org_invite_api_v1_organizations_invites_accept_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationInviteAccept"},"example":{"token":"string"}}},"required":true,"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationMemberRead"},"example":{"id":"string","organization_id":"string","user_id":"string","role":"string","all_boards_read":false,"all_boards_write":false,"created_at":"string","updated_at":"string","user":{"id":"string","email":"string","name":"string","preferred_name":"string"},"board_access":[{"id":"string","board_id":"string","can_read":false,"can_write":false,"created_at":"string","updated_at":"string"}]}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/souls-directory/search":{"get":{"tags":["souls-directory"],"summary":"Search","description":"Search souls-directory entries by handle/slug query text.","operationId":"search_api_v1_souls_directory_search_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","minLength":0,"default":"","title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SoulsDirectorySearchResponse"},"example":{"items":[{"handle":"string","slug":"string","page_url":"string","raw_md_url":"string"}]}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/souls-directory/{handle}/{slug}":{"get":{"tags":["souls-directory"],"summary":"Get Markdown","description":"Fetch markdown content for a validated souls-directory handle and slug.","operationId":"get_markdown_api_v1_souls_directory__handle___slug__get","parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string","title":"Handle"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SoulsDirectoryMarkdownResponse"},"example":{"handle":"string","slug":"string","content":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/souls-directory/{handle}/{slug}.md":{"get":{"tags":["souls-directory"],"summary":"Get Markdown","description":"Fetch markdown content for a validated souls-directory handle and slug.","operationId":"get_markdown_api_v1_souls_directory__handle___slug__md_get","parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string","title":"Handle"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SoulsDirectoryMarkdownResponse"},"example":{"handle":"string","slug":"string","content":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/skills/marketplace":{"get":{"tags":["skills"],"summary":"List Marketplace Skills","description":"List marketplace cards for an org and annotate install state for a gateway.","operationId":"list_marketplace_skills_api_v1_skills_marketplace_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gateway_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Gateway Id"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"risk","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk"}},{"name":"pack_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Pack Id"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":200,"minimum":1},{"type":"null"}],"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MarketplaceSkillCardRead"},"title":"Response List Marketplace Skills Api V1 Skills Marketplace Get"},"example":[{"id":"string","organization_id":"string","name":"string","description":"string","category":"string","risk":"string","source":"string","source_url":"string","metadata":{},"created_at":"string","updated_at":"string","installed":false,"installed_at":"string"}]}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["skills"],"summary":"Create Marketplace Skill","description":"Register or update a direct marketplace skill URL in the catalog.","operationId":"create_marketplace_skill_api_v1_skills_marketplace_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceSkillCreate"},"example":{"source_url":"string","name":"string","description":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceSkillRead"},"example":{"id":"string","organization_id":"string","name":"string","description":"string","category":"string","risk":"string","source":"string","source_url":"string","metadata":{},"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/skills/marketplace/{skill_id}":{"delete":{"tags":["skills"],"summary":"Delete Marketplace Skill","description":"Delete a marketplace catalog entry and any install records that reference it.","operationId":"delete_marketplace_skill_api_v1_skills_marketplace__skill_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/skills/marketplace/{skill_id}/install":{"post":{"tags":["skills"],"summary":"Install Marketplace Skill","description":"Install a marketplace skill by dispatching instructions to the gateway agent.","operationId":"install_marketplace_skill_api_v1_skills_marketplace__skill_id__install_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"gateway_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Gateway Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceSkillActionResponse"},"example":{"ok":false,"skill_id":"string","gateway_id":"string","installed":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/skills/marketplace/{skill_id}/uninstall":{"post":{"tags":["skills"],"summary":"Uninstall Marketplace Skill","description":"Uninstall a marketplace skill by dispatching instructions to the gateway agent.","operationId":"uninstall_marketplace_skill_api_v1_skills_marketplace__skill_id__uninstall_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"gateway_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Gateway Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceSkillActionResponse"},"example":{"ok":false,"skill_id":"string","gateway_id":"string","installed":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/skills/packs":{"get":{"tags":["skills"],"summary":"List Skill Packs","description":"List skill packs configured for the organization.","operationId":"list_skill_packs_api_v1_skills_packs_get","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SkillPackRead"},"type":"array","title":"Response List Skill Packs Api V1 Skills Packs Get"},"example":[{"id":"string","organization_id":"string","name":"string","description":"string","source_url":"string","branch":"string","metadata":{},"skill_count":0,"created_at":"string","updated_at":"string"}]}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["skills"],"summary":"Create Skill Pack","description":"Register a new skill pack source URL.","operationId":"create_skill_pack_api_v1_skills_packs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillPackCreate"},"example":{"source_url":"string","name":"string","description":"string","branch":"string","metadata":{}}}},"required":true,"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillPackRead"},"example":{"id":"string","organization_id":"string","name":"string","description":"string","source_url":"string","branch":"string","metadata":{},"skill_count":0,"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/skills/packs/{pack_id}":{"get":{"tags":["skills"],"summary":"Get Skill Pack","description":"Get one skill pack by ID.","operationId":"get_skill_pack_api_v1_skills_packs__pack_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pack_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pack Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillPackRead"},"example":{"id":"string","organization_id":"string","name":"string","description":"string","source_url":"string","branch":"string","metadata":{},"skill_count":0,"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"patch":{"tags":["skills"],"summary":"Update Skill Pack","description":"Update a skill pack URL and metadata.","operationId":"update_skill_pack_api_v1_skills_packs__pack_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pack_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pack Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillPackCreate"},"example":{"source_url":"string","name":"string","description":"string","branch":"string","metadata":{}}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillPackRead"},"example":{"id":"string","organization_id":"string","name":"string","description":"string","source_url":"string","branch":"string","metadata":{},"skill_count":0,"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"delete":{"tags":["skills"],"summary":"Delete Skill Pack","description":"Delete one pack source from the organization.","operationId":"delete_skill_pack_api_v1_skills_packs__pack_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pack_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pack Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/skills/packs/{pack_id}/sync":{"post":{"tags":["skills"],"summary":"Sync Skill Pack","description":"Clone a pack repository and upsert discovered skills from `skills/**/SKILL.md`.","operationId":"sync_skill_pack_api_v1_skills_packs__pack_id__sync_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pack_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Pack Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillPackSyncResponse"},"example":{"ok":false,"pack_id":"string","synced":0,"created":0,"updated":0,"warnings":["string"]}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/board-groups":{"get":{"tags":["board-groups"],"summary":"List Board Groups","description":"List board groups in the active organization.","operationId":"list_board_groups_api_v1_board_groups_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_BoardGroupRead_"},"example":{"items":[{"name":"string","slug":"string","description":"string","id":"string","organization_id":"string","created_at":"string","updated_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["board-groups"],"summary":"Create Board Group","description":"Create a board group in the active organization.","operationId":"create_board_group_api_v1_board_groups_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupCreate"},"example":{"name":"string","slug":"string","description":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupRead"},"example":{"name":"string","slug":"string","description":"string","id":"string","organization_id":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/board-groups/{group_id}":{"get":{"tags":["board-groups"],"summary":"Get Board Group","description":"Get a board group by id.","operationId":"get_board_group_api_v1_board_groups__group_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupRead"},"example":{"name":"string","slug":"string","description":"string","id":"string","organization_id":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"patch":{"tags":["board-groups"],"summary":"Update Board Group","description":"Update a board group.","operationId":"update_board_group_api_v1_board_groups__group_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupUpdate"},"example":{"name":"string","slug":"string","description":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupRead"},"example":{"name":"string","slug":"string","description":"string","id":"string","organization_id":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"delete":{"tags":["board-groups"],"summary":"Delete Board Group","description":"Delete a board group.","operationId":"delete_board_group_api_v1_board_groups__group_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/board-groups/{group_id}/snapshot":{"get":{"tags":["board-groups"],"summary":"Get Board Group Snapshot","description":"Get a snapshot across boards in a group.","operationId":"get_board_group_snapshot_api_v1_board_groups__group_id__snapshot_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}},{"name":"include_done","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Done"}},{"name":"per_board_task_limit","in":"query","required":false,"schema":{"type":"integer","default":5,"title":"Per Board Task Limit"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupSnapshot"},"example":{"group":{"name":"string","slug":"string","description":"string","id":"string","organization_id":"string","created_at":"string","updated_at":"string"},"boards":[{"board":{"name":"string","slug":"string","description":"string","gateway_id":"string","board_group_id":"string","board_type":"string","objective":"string","success_metrics":{},"target_date":"string","goal_confirmed":false,"goal_source":"string","require_approval_for_done":false,"require_review_before_done":false,"comment_required_for_review":false,"block_status_changes_with_pending_approval":false,"only_lead_can_change_status":false,"max_agents":0,"id":"string","organization_id":"string","created_at":"string","updated_at":"string"},"task_counts":{"key":0},"tasks":[{"id":"string","board_id":"string","board_name":"string","title":"string","status":"string","priority":"string","assigned_agent_id":"string","assignee":"string","due_at":"string","in_progress_at":"string","tags":[{"id":"string","name":"string","slug":"string","color":"string"}],"created_at":"string","updated_at":"string"}]}]}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/board-groups/{group_id}/heartbeat":{"post":{"tags":["board-groups"],"summary":"Apply Board Group Heartbeat","description":"Apply heartbeat settings to agents in a board group.","operationId":"apply_board_group_heartbeat_api_v1_board_groups__group_id__heartbeat_post","parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupHeartbeatApply"},"example":{"every":"string","include_board_leads":false}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupHeartbeatApplyResult"},"example":{"board_group_id":"string","requested":{},"updated_agent_ids":["string"],"failed_agent_ids":["string"]}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/board-groups/{group_id}/memory":{"get":{"tags":["board-group-memory","board-group-memory"],"summary":"List Board Group Memory","description":"List board-group memory entries for a specific group.","operationId":"list_board_group_memory_api_v1_board_groups__group_id__memory_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}},{"name":"is_chat","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Chat"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_BoardGroupMemoryRead_"},"example":{"items":[{"id":"string","board_group_id":"string","content":"string","tags":["string"],"source":"string","is_chat":false,"created_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["board-group-memory","board-group-memory"],"summary":"Create Board Group Memory","description":"Create a board-group memory entry and notify chat recipients.","operationId":"create_board_group_memory_api_v1_board_groups__group_id__memory_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupMemoryCreate"},"example":{"content":"string","tags":["string"],"source":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupMemoryRead"},"example":{"id":"string","board_group_id":"string","content":"string","tags":["string"],"source":"string","is_chat":false,"created_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/board-groups/{group_id}/memory/stream":{"get":{"tags":["board-group-memory","board-group-memory"],"summary":"Stream Board Group Memory","description":"Stream memory entries for a board group via server-sent events.","operationId":"stream_board_group_memory_api_v1_board_groups__group_id__memory_stream_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since"}},{"name":"is_chat","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Chat"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/group-memory":{"get":{"tags":["board-group-memory","board-group-memory","agent-lead","agent-worker"],"summary":"List Board Group Memory For Board","description":"List shared memory for the board's linked group.\n\nUse this for cross-board context and coordination signals.","operationId":"list_board_group_memory_for_board_api_v1_boards__board_id__group_memory_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"is_chat","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Chat"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_BoardGroupMemoryRead_"},"example":{"items":[{"id":"string","board_group_id":"string","content":"string","tags":["string"],"source":"string","is_chat":false,"created_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}},"x-llm-intent":"agent_board_group_memory_discovery","x-when-to-use":["Inspect shared group memory for cross-board context before making decisions.","Collect active chat snapshots for a linked group before coordination actions."],"x-when-not-to-use":["Use a more specific endpoint when targeting a single actor or broadcast scope."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated actor token","Accessible board context"],"x-side-effects":["No persisted side effects."],"x-negative-guidance":["Do not use as a replacement for direct task-specific commentary.","Do not assume infinite retention when group storage policies apply."],"x-routing-policy":["Use as a shared-context discovery step before decisioning.","Use board-specific memory endpoints for direct board persistence updates."],"x-routing-policy-examples":[{"input":{"intent":"recover recent team memory for task framing","required_privilege":"agent_lead_or_worker"},"decision":"agent_board_group_memory_discovery"}]},"post":{"tags":["board-group-memory","board-group-memory","agent-lead","agent-worker"],"summary":"Create Board Group Memory For Board","description":"Create shared group memory from a board context.\n\nWhen tags/mentions indicate chat or broadcast intent, eligible agents in the\nlinked group are notified.","operationId":"create_board_group_memory_for_board_api_v1_boards__board_id__group_memory_post","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupMemoryCreate"},"example":{"content":"string","tags":["string"],"source":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupMemoryRead"},"example":{"id":"string","board_group_id":"string","content":"string","tags":["string"],"source":"string","is_chat":false,"created_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}},"x-llm-intent":"agent_board_group_memory_record","x-when-to-use":["Persist shared group memory for a linked group from board context.","Broadcast updates/messages to group-linked agents when chat or mention intent is present."],"x-when-not-to-use":["Use a more specific endpoint when targeting a single actor or broadcast scope."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated actor token","Accessible board context"],"x-side-effects":["Persist new group-memory entries with optional agent notification dispatch."],"x-negative-guidance":["Do not use as a replacement for direct task-specific commentary.","Do not assume infinite retention when group storage policies apply."],"x-routing-policy":["Use for shared memory writes that should be visible across linked boards.","Prefer direct board memory endpoints for board-local persistence."],"x-routing-policy-examples":[{"input":{"intent":"share coordination signal in group memory","required_privilege":"board_agent"},"decision":"agent_board_group_memory_record"}]}},"/api/v1/boards/{board_id}/group-memory/stream":{"get":{"tags":["board-group-memory","board-group-memory","agent-lead","agent-worker"],"summary":"Stream Board Group Memory For Board","description":"Stream linked-group memory via SSE for near-real-time coordination.","operationId":"stream_board_group_memory_for_board_api_v1_boards__board_id__group_memory_stream_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since"}},{"name":"is_chat","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Chat"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}},"x-llm-intent":"agent_board_group_memory_stream","x-when-to-use":["Track shared group memory updates in near-real-time for live coordination.","React to newly added group messages without polling."],"x-when-not-to-use":["Use a more specific endpoint when targeting a single actor or broadcast scope."],"x-required-actor":"any_agent","x-prerequisites":["Authenticated actor token","Accessible board context"],"x-side-effects":["No persisted side effects, streaming updates are read-only."],"x-negative-guidance":["Do not use as a replacement for direct task-specific commentary.","Do not assume infinite retention when group storage policies apply."],"x-routing-policy":["Use when coordinated decisions need continuous group context.","Prefer bounded history reads when a snapshot is sufficient."],"x-routing-policy-examples":[{"input":{"intent":"subscribe to group memory updates for routing","required_privilege":"agent_lead_or_worker"},"decision":"agent_board_group_memory_stream"}]}},"/api/v1/boards":{"get":{"tags":["boards"],"summary":"List Boards","description":"List boards visible to the current organization member.","operationId":"list_boards_api_v1_boards_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gateway_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Gateway Id"}},{"name":"board_group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Group Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_BoardRead_"},"example":{"items":[{"name":"string","slug":"string","description":"string","gateway_id":"string","board_group_id":"string","board_type":"string","objective":"string","success_metrics":{},"target_date":"string","goal_confirmed":false,"goal_source":"string","require_approval_for_done":false,"require_review_before_done":false,"comment_required_for_review":false,"block_status_changes_with_pending_approval":false,"only_lead_can_change_status":false,"max_agents":0,"id":"string","organization_id":"string","created_at":"string","updated_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["boards"],"summary":"Create Board","description":"Create a board in the active organization.","operationId":"create_board_api_v1_boards_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardCreate"},"example":{"name":"string","slug":"string","description":"string","gateway_id":"string","board_group_id":"string","board_type":"string","objective":"string","success_metrics":{},"target_date":"string","goal_confirmed":false,"goal_source":"string","require_approval_for_done":false,"require_review_before_done":false,"comment_required_for_review":false,"block_status_changes_with_pending_approval":false,"only_lead_can_change_status":false,"max_agents":0}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardRead"},"example":{"name":"string","slug":"string","description":"string","gateway_id":"string","board_group_id":"string","board_type":"string","objective":"string","success_metrics":{},"target_date":"string","goal_confirmed":false,"goal_source":"string","require_approval_for_done":false,"require_review_before_done":false,"comment_required_for_review":false,"block_status_changes_with_pending_approval":false,"only_lead_can_change_status":false,"max_agents":0,"id":"string","organization_id":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}":{"get":{"tags":["boards"],"summary":"Get Board","description":"Get a board by id.","operationId":"get_board_api_v1_boards__board_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardRead"},"example":{"name":"string","slug":"string","description":"string","gateway_id":"string","board_group_id":"string","board_type":"string","objective":"string","success_metrics":{},"target_date":"string","goal_confirmed":false,"goal_source":"string","require_approval_for_done":false,"require_review_before_done":false,"comment_required_for_review":false,"block_status_changes_with_pending_approval":false,"only_lead_can_change_status":false,"max_agents":0,"id":"string","organization_id":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"patch":{"tags":["boards"],"summary":"Update Board","description":"Update mutable board properties.","operationId":"update_board_api_v1_boards__board_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardUpdate"},"example":{"name":"string","slug":"string","description":"string","gateway_id":"string","board_group_id":"string","board_type":"string","objective":"string","success_metrics":{},"target_date":"string","goal_confirmed":false,"goal_source":"string","require_approval_for_done":false,"require_review_before_done":false,"comment_required_for_review":false,"block_status_changes_with_pending_approval":false,"only_lead_can_change_status":false,"max_agents":0}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardRead"},"example":{"name":"string","slug":"string","description":"string","gateway_id":"string","board_group_id":"string","board_type":"string","objective":"string","success_metrics":{},"target_date":"string","goal_confirmed":false,"goal_source":"string","require_approval_for_done":false,"require_review_before_done":false,"comment_required_for_review":false,"block_status_changes_with_pending_approval":false,"only_lead_can_change_status":false,"max_agents":0,"id":"string","organization_id":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"delete":{"tags":["boards"],"summary":"Delete Board","description":"Delete a board and all dependent records.","operationId":"delete_board_api_v1_boards__board_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/snapshot":{"get":{"tags":["boards"],"summary":"Get Board Snapshot","description":"Get a board snapshot view model.","operationId":"get_board_snapshot_api_v1_boards__board_id__snapshot_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardSnapshot"},"example":{"board":{"name":"string","slug":"string","description":"string","gateway_id":"string","board_group_id":"string","board_type":"string","objective":"string","success_metrics":{},"target_date":"string","goal_confirmed":false,"goal_source":"string","require_approval_for_done":false,"require_review_before_done":false,"comment_required_for_review":false,"block_status_changes_with_pending_approval":false,"only_lead_can_change_status":false,"max_agents":0,"id":"string","organization_id":"string","created_at":"string","updated_at":"string"},"tasks":[{"title":"string","description":"string","status":"inbox","priority":"string","due_at":"string","assigned_agent_id":"string","depends_on_task_ids":["string"],"tag_ids":["string"],"id":"string","board_id":"string","created_by_user_id":"string","in_progress_at":"string","created_at":"string","updated_at":"string","blocked_by_task_ids":["string"],"is_blocked":false,"tags":[{"id":"string","name":"string","slug":"string","color":"string"}],"custom_field_values":{},"assignee":"string","approvals_count":0,"approvals_pending_count":0}],"agents":[{"board_id":"11111111-1111-1111-1111-111111111111","name":"Ops triage lead","status":"provisioning","heartbeat_config":{"interval_seconds":30,"missing_tolerance":120},"identity_profile":{"role":"incident_lead","skill":"triage"},"identity_template":"You are a senior incident response lead.","soul_template":"When critical blockers appear, escalate in plain language.","id":"string","gateway_id":"string","is_board_lead":false,"is_gateway_main":false,"openclaw_session_id":"sess_01J...","last_seen_at":"string","created_at":"string","updated_at":"string"}],"approvals":[{"action_type":"string","task_id":"string","task_ids":["string"],"payload":{},"confidence":0,"rubric_scores":{"key":0},"status":"pending","id":"string","board_id":"string","task_titles":["string"],"agent_id":"string","created_at":"string","resolved_at":"string"}],"chat_messages":[{"id":"string","board_id":"string","content":"string","tags":["string"],"source":"string","is_chat":false,"created_at":"string"}],"pending_approvals_count":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/group-snapshot":{"get":{"tags":["boards","agent-lead","agent-worker"],"summary":"Get Board Group Snapshot","description":"Get a grouped snapshot across related boards.\n\nReturns high-signal cross-board status for dependency and overlap checks.","operationId":"get_board_group_snapshot_api_v1_boards__board_id__group_snapshot_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"include_self","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Self"}},{"name":"include_done","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Done"}},{"name":"per_board_task_limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":0,"default":5,"title":"Per Board Task Limit"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardGroupSnapshot"},"example":{"group":{"name":"string","slug":"string","description":"string","id":"string","organization_id":"string","created_at":"string","updated_at":"string"},"boards":[{"board":{"name":"string","slug":"string","description":"string","gateway_id":"string","board_group_id":"string","board_type":"string","objective":"string","success_metrics":{},"target_date":"string","goal_confirmed":false,"goal_source":"string","require_approval_for_done":false,"require_review_before_done":false,"comment_required_for_review":false,"block_status_changes_with_pending_approval":false,"only_lead_can_change_status":false,"max_agents":0,"id":"string","organization_id":"string","created_at":"string","updated_at":"string"},"task_counts":{"key":0},"tasks":[{"id":"string","board_id":"string","board_name":"string","title":"string","status":"string","priority":"string","assigned_agent_id":"string","assignee":"string","due_at":"string","in_progress_at":"string","tags":[{"id":"string","name":"string","slug":"string","color":"string"}],"created_at":"string","updated_at":"string"}]}]}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/memory":{"get":{"tags":["board-memory"],"summary":"List Board Memory","description":"List board memory entries, optionally filtering chat entries.","operationId":"list_board_memory_api_v1_boards__board_id__memory_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"is_chat","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Chat"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_BoardMemoryRead_"},"example":{"items":[{"id":"string","board_id":"string","content":"string","tags":["string"],"source":"string","is_chat":false,"created_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["board-memory"],"summary":"Create Board Memory","description":"Create a board memory entry and notify chat targets when needed.","operationId":"create_board_memory_api_v1_boards__board_id__memory_post","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardMemoryCreate"},"example":{"content":"string","tags":["string"],"source":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardMemoryRead"},"example":{"id":"string","board_id":"string","content":"string","tags":["string"],"source":"string","is_chat":false,"created_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/memory/stream":{"get":{"tags":["board-memory"],"summary":"Stream Board Memory","description":"Stream board memory events over server-sent events.","operationId":"stream_board_memory_api_v1_boards__board_id__memory_stream_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since"}},{"name":"is_chat","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Chat"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/webhooks":{"get":{"tags":["board-webhooks"],"summary":"List Board Webhooks","description":"List configured webhooks for a board.","operationId":"list_board_webhooks_api_v1_boards__board_id__webhooks_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_BoardWebhookRead_"},"example":{"items":[{"id":"string","board_id":"string","agent_id":"string","description":"string","enabled":false,"has_secret":false,"signature_header":"string","endpoint_path":"string","endpoint_url":"string","created_at":"string","updated_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["board-webhooks"],"summary":"Create Board Webhook","description":"Create a new board webhook with a generated UUID endpoint.","operationId":"create_board_webhook_api_v1_boards__board_id__webhooks_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardWebhookCreate"},"example":{"description":"string","enabled":false,"agent_id":"string","secret":"string","signature_header":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardWebhookRead"},"example":{"id":"string","board_id":"string","agent_id":"string","description":"string","enabled":false,"has_secret":false,"signature_header":"string","endpoint_path":"string","endpoint_url":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/webhooks/{webhook_id}":{"get":{"tags":["board-webhooks"],"summary":"Get Board Webhook","description":"Get one board webhook configuration.","operationId":"get_board_webhook_api_v1_boards__board_id__webhooks__webhook_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Webhook Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardWebhookRead"},"example":{"id":"string","board_id":"string","agent_id":"string","description":"string","enabled":false,"has_secret":false,"signature_header":"string","endpoint_path":"string","endpoint_url":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"patch":{"tags":["board-webhooks"],"summary":"Update Board Webhook","description":"Update board webhook description or enabled state.","operationId":"update_board_webhook_api_v1_boards__board_id__webhooks__webhook_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Webhook Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardWebhookUpdate"},"example":{"description":"string","enabled":false,"agent_id":"string","secret":"string","signature_header":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardWebhookRead"},"example":{"id":"string","board_id":"string","agent_id":"string","description":"string","enabled":false,"has_secret":false,"signature_header":"string","endpoint_path":"string","endpoint_url":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"delete":{"tags":["board-webhooks"],"summary":"Delete Board Webhook","description":"Delete a webhook and its stored payload rows.","operationId":"delete_board_webhook_api_v1_boards__board_id__webhooks__webhook_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Webhook Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["board-webhooks"],"summary":"Ingest Board Webhook","description":"Open inbound webhook endpoint that stores payloads and nudges the board lead.","operationId":"ingest_board_webhook_api_v1_boards__board_id__webhooks__webhook_id__post","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Webhook Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"responses":{"202":{"description":"Request accepted for processing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardWebhookIngestResponse"},"example":{"ok":false,"board_id":"string","webhook_id":"string","payload_id":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/webhooks/{webhook_id}/payloads":{"get":{"tags":["board-webhooks"],"summary":"List Board Webhook Payloads","description":"List stored payloads for one board webhook.","operationId":"list_board_webhook_payloads_api_v1_boards__board_id__webhooks__webhook_id__payloads_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Webhook Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_BoardWebhookPayloadRead_"},"example":{"items":[{"id":"string","board_id":"string","webhook_id":"string","payload":{},"headers":{"key":"string"},"source_ip":"string","content_type":"string","received_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/webhooks/{webhook_id}/payloads/{payload_id}":{"get":{"tags":["board-webhooks"],"summary":"Get Board Webhook Payload","description":"Get a single stored payload for one board webhook.","operationId":"get_board_webhook_payload_api_v1_boards__board_id__webhooks__webhook_id__payloads__payload_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Webhook Id"}},{"name":"payload_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Payload Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardWebhookPayloadRead"},"example":{"id":"string","board_id":"string","webhook_id":"string","payload":{},"headers":{"key":"string"},"source_ip":"string","content_type":"string","received_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/onboarding":{"get":{"tags":["board-onboarding"],"summary":"Get Onboarding","description":"Get the latest onboarding session for a board.","operationId":"get_onboarding_api_v1_boards__board_id__onboarding_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardOnboardingRead"},"example":{"id":"string","board_id":"string","session_key":"string","status":"string","messages":[{}],"draft_goal":{"board_type":"string","objective":"string","success_metrics":{},"target_date":"string","status":"string","user_profile":{"preferred_name":"string","pronouns":"string","timezone":"string","notes":"string","context":"string"},"lead_agent":{"name":"string","identity_profile":{"key":"string"},"autonomy_level":"ask_first","verbosity":"concise","output_format":"bullets","update_cadence":"asap","custom_instructions":"string"}},"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/onboarding/start":{"post":{"tags":["board-onboarding"],"summary":"Start Onboarding","description":"Start onboarding and send instructions to the gateway agent.","operationId":"start_onboarding_api_v1_boards__board_id__onboarding_start_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardOnboardingStart"},"example":{}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardOnboardingRead"},"example":{"id":"string","board_id":"string","session_key":"string","status":"string","messages":[{}],"draft_goal":{"board_type":"string","objective":"string","success_metrics":{},"target_date":"string","status":"string","user_profile":{"preferred_name":"string","pronouns":"string","timezone":"string","notes":"string","context":"string"},"lead_agent":{"name":"string","identity_profile":{"key":"string"},"autonomy_level":"ask_first","verbosity":"concise","output_format":"bullets","update_cadence":"asap","custom_instructions":"string"}},"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/onboarding/answer":{"post":{"tags":["board-onboarding"],"summary":"Answer Onboarding","description":"Send a user onboarding answer to the gateway agent.","operationId":"answer_onboarding_api_v1_boards__board_id__onboarding_answer_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardOnboardingAnswer"},"example":{"answer":"string","other_text":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardOnboardingRead"},"example":{"id":"string","board_id":"string","session_key":"string","status":"string","messages":[{}],"draft_goal":{"board_type":"string","objective":"string","success_metrics":{},"target_date":"string","status":"string","user_profile":{"preferred_name":"string","pronouns":"string","timezone":"string","notes":"string","context":"string"},"lead_agent":{"name":"string","identity_profile":{"key":"string"},"autonomy_level":"ask_first","verbosity":"concise","output_format":"bullets","update_cadence":"asap","custom_instructions":"string"}},"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/onboarding/agent":{"post":{"tags":["board-onboarding"],"summary":"Agent Onboarding Update","description":"Store onboarding updates submitted by the gateway agent.","operationId":"agent_onboarding_update_api_v1_boards__board_id__onboarding_agent_post","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BoardOnboardingAgentComplete"},{"$ref":"#/components/schemas/BoardOnboardingAgentQuestion"}],"title":"Payload"},"example":{"board_type":"string","objective":"string","success_metrics":{},"target_date":"string","status":"string","user_profile":{"preferred_name":"string","pronouns":"string","timezone":"string","notes":"string","context":"string"},"lead_agent":{"name":"string","identity_profile":{"key":"string"},"autonomy_level":"ask_first","verbosity":"concise","output_format":"bullets","update_cadence":"asap","custom_instructions":"string"}}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardOnboardingRead"},"example":{"id":"string","board_id":"string","session_key":"string","status":"string","messages":[{}],"draft_goal":{"board_type":"string","objective":"string","success_metrics":{},"target_date":"string","status":"string","user_profile":{"preferred_name":"string","pronouns":"string","timezone":"string","notes":"string","context":"string"},"lead_agent":{"name":"string","identity_profile":{"key":"string"},"autonomy_level":"ask_first","verbosity":"concise","output_format":"bullets","update_cadence":"asap","custom_instructions":"string"}},"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/onboarding/confirm":{"post":{"tags":["board-onboarding"],"summary":"Confirm Onboarding","description":"Confirm onboarding results and provision the board lead agent.","operationId":"confirm_onboarding_api_v1_boards__board_id__onboarding_confirm_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardOnboardingConfirm"},"example":{"board_type":"string","objective":"string","success_metrics":{},"target_date":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardRead"},"example":{"name":"string","slug":"string","description":"string","gateway_id":"string","board_group_id":"string","board_type":"string","objective":"string","success_metrics":{},"target_date":"string","goal_confirmed":false,"goal_source":"string","require_approval_for_done":false,"require_review_before_done":false,"comment_required_for_review":false,"block_status_changes_with_pending_approval":false,"only_lead_can_change_status":false,"max_agents":0,"id":"string","organization_id":"string","created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/approvals":{"get":{"tags":["approvals"],"summary":"List Approvals","description":"List approvals for a board, optionally filtering by status.","operationId":"list_approvals_api_v1_boards__board_id__approvals_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["pending","approved","rejected"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_ApprovalRead_"},"example":{"items":[{"action_type":"string","task_id":"string","task_ids":["string"],"payload":{},"confidence":0,"rubric_scores":{"key":0},"status":"pending","id":"string","board_id":"string","task_titles":["string"],"agent_id":"string","created_at":"string","resolved_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["approvals"],"summary":"Create Approval","description":"Create an approval for a board.","operationId":"create_approval_api_v1_boards__board_id__approvals_post","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalCreate"},"example":{"action_type":"string","task_id":"string","task_ids":["string"],"payload":{},"confidence":0,"rubric_scores":{"key":0},"status":"pending","agent_id":"string","lead_reasoning":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalRead"},"example":{"action_type":"string","task_id":"string","task_ids":["string"],"payload":{},"confidence":0,"rubric_scores":{"key":0},"status":"pending","id":"string","board_id":"string","task_titles":["string"],"agent_id":"string","created_at":"string","resolved_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/approvals/stream":{"get":{"tags":["approvals"],"summary":"Stream Approvals","description":"Stream approval updates for a board using server-sent events.","operationId":"stream_approvals_api_v1_boards__board_id__approvals_stream_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/approvals/{approval_id}":{"patch":{"tags":["approvals"],"summary":"Update Approval","description":"Update an approval's status and resolution timestamp.","operationId":"update_approval_api_v1_boards__board_id__approvals__approval_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"string","title":"Approval Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalUpdate"},"example":{"status":"pending"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalRead"},"example":{"action_type":"string","task_id":"string","task_ids":["string"],"payload":{},"confidence":0,"rubric_scores":{"key":0},"status":"pending","id":"string","board_id":"string","task_titles":["string"],"agent_id":"string","created_at":"string","resolved_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/tasks/stream":{"get":{"tags":["tasks"],"summary":"Stream Tasks","description":"Stream task and task-comment events as SSE payloads.","operationId":"stream_tasks_api_v1_boards__board_id__tasks_stream_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Since"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/tasks":{"get":{"tags":["tasks"],"summary":"List Tasks","description":"List board tasks with optional status and assignment filters.","operationId":"list_tasks_api_v1_boards__board_id__tasks_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"assigned_agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned Agent Id"}},{"name":"unassigned","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Unassigned"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_TaskRead_"},"example":{"items":[{"title":"string","description":"string","status":"inbox","priority":"string","due_at":"string","assigned_agent_id":"string","depends_on_task_ids":["string"],"tag_ids":["string"],"id":"string","board_id":"string","created_by_user_id":"string","in_progress_at":"string","created_at":"string","updated_at":"string","blocked_by_task_ids":["string"],"is_blocked":false,"tags":[{"id":"string","name":"string","slug":"string","color":"string"}],"custom_field_values":{}}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["tasks"],"summary":"Create Task","description":"Create a task and initialize dependency rows.","operationId":"create_task_api_v1_boards__board_id__tasks_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreate"},"example":{"title":"string","description":"string","status":"inbox","priority":"string","due_at":"string","assigned_agent_id":"string","depends_on_task_ids":["string"],"tag_ids":["string"],"created_by_user_id":"string","custom_field_values":{}}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskRead"},"example":{"title":"string","description":"string","status":"inbox","priority":"string","due_at":"string","assigned_agent_id":"string","depends_on_task_ids":["string"],"tag_ids":["string"],"id":"string","board_id":"string","created_by_user_id":"string","in_progress_at":"string","created_at":"string","updated_at":"string","blocked_by_task_ids":["string"],"is_blocked":false,"tags":[{"id":"string","name":"string","slug":"string","color":"string"}],"custom_field_values":{}}}}},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockedTaskError"},"example":{"detail":{"message":"string","code":"string","blocked_by_task_ids":["string"]}}}},"description":"Conflict"},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/tasks/{task_id}":{"patch":{"tags":["tasks"],"summary":"Update Task","description":"Update task status, assignment, comment, and dependency state.","operationId":"update_task_api_v1_boards__board_id__tasks__task_id__patch","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskUpdate"},"example":{"title":"string","description":"string","status":"inbox","priority":"string","due_at":"string","assigned_agent_id":"string","depends_on_task_ids":["string"],"tag_ids":["string"],"custom_field_values":{},"comment":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskRead"},"example":{"title":"string","description":"string","status":"inbox","priority":"string","due_at":"string","assigned_agent_id":"string","depends_on_task_ids":["string"],"tag_ids":["string"],"id":"string","board_id":"string","created_by_user_id":"string","in_progress_at":"string","created_at":"string","updated_at":"string","blocked_by_task_ids":["string"],"is_blocked":false,"tags":[{"id":"string","name":"string","slug":"string","color":"string"}],"custom_field_values":{}}}}},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockedTaskError"},"example":{"detail":{"message":"string","code":"string","blocked_by_task_ids":["string"]}}}},"description":"Conflict"},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"delete":{"tags":["tasks"],"summary":"Delete Task","description":"Delete a task and related records.","operationId":"delete_task_api_v1_boards__board_id__tasks__task_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/boards/{board_id}/tasks/{task_id}/comments":{"get":{"tags":["tasks"],"summary":"List Task Comments","description":"List comments for a task in chronological order.","operationId":"list_task_comments_api_v1_boards__board_id__tasks__task_id__comments_get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_TaskCommentRead_"},"example":{"items":[{"id":"string","message":"string","agent_id":"string","task_id":"string","created_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["tasks"],"summary":"Create Task Comment","description":"Create a task comment and notify relevant agents.","operationId":"create_task_comment_api_v1_boards__board_id__tasks__task_id__comments_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}},{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCommentCreate"},"example":{"message":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCommentRead"},"example":{"id":"string","message":"string","agent_id":"string","task_id":"string","created_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/organizations/me/custom-fields":{"get":{"tags":["custom-fields"],"summary":"List Org Custom Fields","description":"List task custom field definitions for the authenticated organization.","operationId":"list_org_custom_fields_api_v1_organizations_me_custom_fields_get","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TaskCustomFieldDefinitionRead"},"type":"array","title":"Response List Org Custom Fields Api V1 Organizations Me Custom Fields Get"},"example":[{"field_key":"string","label":"string","field_type":"text","ui_visibility":"always","validation_regex":"string","description":"string","required":false,"id":"string","organization_id":"string","board_ids":["string"],"created_at":"string","updated_at":"string"}]}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["custom-fields"],"summary":"Create Org Custom Field","description":"Create an organization-level task custom field definition.","operationId":"create_org_custom_field_api_v1_organizations_me_custom_fields_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCustomFieldDefinitionCreate"},"example":{"field_key":"string","label":"string","field_type":"text","ui_visibility":"always","validation_regex":"string","description":"string","required":false,"board_ids":["string"]}}},"required":true,"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCustomFieldDefinitionRead"},"example":{"field_key":"string","label":"string","field_type":"text","ui_visibility":"always","validation_regex":"string","description":"string","required":false,"id":"string","organization_id":"string","board_ids":["string"],"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/organizations/me/custom-fields/{task_custom_field_definition_id}":{"patch":{"tags":["custom-fields"],"summary":"Update Org Custom Field","description":"Update an organization-level task custom field definition.","operationId":"update_org_custom_field_api_v1_organizations_me_custom_fields__task_custom_field_definition_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_custom_field_definition_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Custom Field Definition Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCustomFieldDefinitionUpdate"},"example":{"label":"string","field_type":"text","ui_visibility":"always","validation_regex":"string","description":"string","required":false,"board_ids":["string"]}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCustomFieldDefinitionRead"},"example":{"field_key":"string","label":"string","field_type":"text","ui_visibility":"always","validation_regex":"string","description":"string","required":false,"id":"string","organization_id":"string","board_ids":["string"],"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"delete":{"tags":["custom-fields"],"summary":"Delete Org Custom Field","description":"Delete an org-level definition when it has no persisted task values.","operationId":"delete_org_custom_field_api_v1_organizations_me_custom_fields__task_custom_field_definition_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_custom_field_definition_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Custom Field Definition Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/tags":{"get":{"tags":["tags"],"summary":"List Tags","description":"List tags for the active organization.","operationId":"list_tags_api_v1_tags_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LimitOffsetPage_TypeVar_Customized_TagRead_"},"example":{"items":[{"name":"string","slug":"string","color":"string","description":"string","id":"string","organization_id":"string","task_count":0,"created_at":"string","updated_at":"string"}],"total":0,"limit":0,"offset":0}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"post":{"tags":["tags"],"summary":"Create Tag","description":"Create a tag within the active organization.","operationId":"create_tag_api_v1_tags_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagCreate"},"example":{"name":"string","slug":"string","color":"string","description":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagRead"},"example":{"name":"string","slug":"string","color":"string","description":"string","id":"string","organization_id":"string","task_count":0,"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/tags/{tag_id}":{"get":{"tags":["tags"],"summary":"Get Tag","description":"Get a single tag in the active organization.","operationId":"get_tag_api_v1_tags__tag_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagRead"},"example":{"name":"string","slug":"string","color":"string","description":"string","id":"string","organization_id":"string","task_count":0,"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"patch":{"tags":["tags"],"summary":"Update Tag","description":"Update a tag in the active organization.","operationId":"update_tag_api_v1_tags__tag_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUpdate"},"example":{"name":"string","slug":"string","color":"string","description":"string"}}},"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagRead"},"example":{"name":"string","slug":"string","color":"string","description":"string","id":"string","organization_id":"string","task_count":0,"created_at":"string","updated_at":"string"}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}},"delete":{"tags":["tags"],"summary":"Delete Tag","description":"Delete a tag and remove all associated tag links.","operationId":"delete_tag_api_v1_tags__tag_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}}],"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}}}},"/api/v1/users/me":{"get":{"tags":["users"],"summary":"Get Me","description":"Return the authenticated user's current profile payload.","operationId":"get_me_api_v1_users_me_get","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"},"example":{"clerk_user_id":"user_2abcXYZ","email":"alex@example.com","name":"Alex Chen","preferred_name":"Alex","pronouns":"they/them","timezone":"America/Los_Angeles","notes":"Primary operator for board triage.","context":"Handles incident coordination and escalation.","id":"11111111-1111-1111-1111-111111111111","is_super_admin":false}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["users"],"summary":"Delete Me","description":"Delete the authenticated account and any personal-only organizations.","operationId":"delete_me_api_v1_users_me_delete","responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OkResponse"},"example":{"ok":false}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["users"],"summary":"Update Me","description":"Apply partial profile updates for the authenticated user.","operationId":"update_me_api_v1_users_me_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"},"example":{"name":"string","preferred_name":"string","pronouns":"string","timezone":"string","notes":"string","context":"string"}}},"required":true,"description":"JSON request payload."},"responses":{"200":{"description":"Request completed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"},"example":{"clerk_user_id":"user_2abcXYZ","email":"alex@example.com","name":"Alex Chen","preferred_name":"Alex","pronouns":"they/them","timezone":"America/Los_Angeles","notes":"Primary operator for board triage.","context":"Handles incident coordination and escalation.","id":"11111111-1111-1111-1111-111111111111","is_super_admin":false}}}},"422":{"description":"Request payload failed schema or field validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string","ctx":{}}]}}}}},"security":[{"HTTPBearer":[]}]}}},"components":{"schemas":{"ActivityEventRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"event_type":{"type":"string","title":"Event Type"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Id"},"task_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Task Id"},"board_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id"},"route_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Route Name"},"route_params":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Route Params"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","event_type","message","agent_id","task_id","created_at"],"title":"ActivityEventRead","description":"Serialized activity event payload returned by activity endpoints."},"ActivityTaskCommentFeedItemRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Id"},"agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Name"},"agent_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Role"},"task_id":{"type":"string","format":"uuid","title":"Task Id"},"task_title":{"type":"string","title":"Task Title"},"board_id":{"type":"string","format":"uuid","title":"Board Id"},"board_name":{"type":"string","title":"Board Name"}},"type":"object","required":["id","created_at","message","agent_id","task_id","task_title","board_id","board_name"],"title":"ActivityTaskCommentFeedItemRead","description":"Denormalized task-comment feed item enriched with task and board fields."},"AgentCreate":{"properties":{"board_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id","description":"Board id that scopes this agent. Omit only when policy allows global agents.","examples":["11111111-1111-1111-1111-111111111111"]},"name":{"type":"string","minLength":1,"title":"Name","description":"Human-readable agent display name.","examples":["Ops triage lead"]},"status":{"type":"string","title":"Status","description":"Current lifecycle state used by coordinator logic.","default":"provisioning","examples":["provisioning","active","paused","retired"]},"heartbeat_config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Heartbeat Config","description":"Runtime heartbeat behavior overrides for this agent.","examples":[{"interval_seconds":30,"missing_tolerance":120}]},"identity_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Identity Profile","description":"Optional profile hints used by routing and policy checks.","examples":[{"role":"incident_lead","skill":"triage"}]},"identity_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identity Template","description":"Template that helps define initial intent and behavior.","examples":["You are a senior incident response lead."]},"soul_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Soul Template","description":"Template representing deeper agent instructions.","examples":["When critical blockers appear, escalate in plain language."]}},"type":"object","required":["name"],"title":"AgentCreate","description":"Payload for creating a new agent.","x-llm-intent":"agent_profile","x-prerequisites":["board_id if required by your board policy","identity templates should be valid JSON or text with expected markers"],"x-required-actor":"lead_or_worker_agent","x-response-shape":"AgentRead","x-side-effects":["Reads or writes core agent profile fields","May impact routing or assignment decisions when persisted"],"x-when-not-to-use":["Task lifecycle operations (use task endpoints)","User-facing conversation content (not modeled here)"],"x-when-to-use":["Create or update canonical agent metadata","Inspect agent attributes for governance or delegation"]},"AgentHealthStatusResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","description":"Indicates whether the probe check succeeded.","examples":[true]},"agent_id":{"type":"string","format":"uuid","title":"Agent Id","description":"Authenticated agent id derived from `X-Agent-Token`.","examples":["aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"]},"board_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id","description":"Board scope for the authenticated agent, when applicable.","examples":["bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"]},"gateway_id":{"type":"string","format":"uuid","title":"Gateway Id","description":"Gateway owning the authenticated agent.","examples":["cccccccc-cccc-cccc-cccc-cccccccccccc"]},"status":{"type":"string","title":"Status","description":"Current persisted lifecycle status for the authenticated agent.","examples":["online","healthy","updating"]},"is_board_lead":{"type":"boolean","title":"Is Board Lead","description":"Whether the authenticated agent is the board lead.","examples":[false]}},"type":"object","required":["ok","agent_id","gateway_id","status","is_board_lead"],"title":"AgentHealthStatusResponse","description":"Agent-authenticated liveness payload for agent route probes."},"AgentHeartbeat":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"Agent health status string.","examples":["healthy","offline","degraded"]}},"type":"object","title":"AgentHeartbeat","description":"Heartbeat status payload sent by agents.","x-llm-intent":"agent_health_signal","x-required-actor":"any_agent","x-response-shape":"AgentRead","x-when-to-use":["Send periodic heartbeat to indicate liveness"]},"AgentHeartbeatCreate":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"Agent health status string.","examples":["healthy","offline","degraded"]},"name":{"type":"string","minLength":1,"title":"Name","description":"Display name assigned during first heartbeat bootstrap.","examples":["Ops triage lead"]},"board_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id","description":"Optional board context for bootstrap.","examples":["33333333-3333-3333-3333-333333333333"]}},"type":"object","required":["name"],"title":"AgentHeartbeatCreate","description":"Heartbeat payload used to create an agent lazily.","x-llm-intent":"agent_bootstrap","x-prerequisites":["Agent auth token already validated"],"x-required-actor":"agent","x-response-shape":"AgentRead","x-when-to-use":["First heartbeat from a non-provisioned worker should bootstrap identity."]},"AgentNudge":{"properties":{"message":{"type":"string","minLength":1,"title":"Message","description":"Short message to direct an agent toward immediate attention.","examples":["Please update the incident triage status for task T-001."]}},"type":"object","required":["message"],"title":"AgentNudge","description":"Nudge message payload for pinging an agent.","x-llm-intent":"agent_nudge","x-required-actor":"board_lead","x-response-shape":"AgentRead","x-when-to-use":["Prompt a specific agent to revisit or reprioritize work."]},"AgentRead":{"properties":{"board_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id","description":"Board id that scopes this agent. Omit only when policy allows global agents.","examples":["11111111-1111-1111-1111-111111111111"]},"name":{"type":"string","minLength":1,"title":"Name","description":"Human-readable agent display name.","examples":["Ops triage lead"]},"status":{"type":"string","title":"Status","description":"Current lifecycle state used by coordinator logic.","default":"provisioning","examples":["provisioning","active","paused","retired"]},"heartbeat_config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Heartbeat Config","description":"Runtime heartbeat behavior overrides for this agent.","examples":[{"interval_seconds":30,"missing_tolerance":120}]},"identity_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Identity Profile","description":"Optional profile hints used by routing and policy checks.","examples":[{"role":"incident_lead","skill":"triage"}]},"identity_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identity Template","description":"Template that helps define initial intent and behavior.","examples":["You are a senior incident response lead."]},"soul_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Soul Template","description":"Template representing deeper agent instructions.","examples":["When critical blockers appear, escalate in plain language."]},"id":{"type":"string","format":"uuid","title":"Id","description":"Agent UUID."},"gateway_id":{"type":"string","format":"uuid","title":"Gateway Id","description":"Gateway UUID that manages this agent."},"is_board_lead":{"type":"boolean","title":"Is Board Lead","description":"Whether this agent is the board lead.","default":false},"is_gateway_main":{"type":"boolean","title":"Is Gateway Main","description":"Whether this agent is the primary gateway agent.","default":false},"openclaw_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Openclaw Session Id","description":"Optional openclaw session token.","examples":["sess_01J..."]},"last_seen_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Seen At","description":"Last heartbeat timestamp."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Creation timestamp."},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Last update timestamp."}},"type":"object","required":["name","id","gateway_id","created_at","updated_at"],"title":"AgentRead","description":"Public agent representation returned by the API.","x-interpretation":"This is a read model; changes here should use update/lifecycle endpoints.","x-llm-intent":"agent_profile_lookup","x-required-actor":"board_lead_or_worker","x-when-to-use":["Inspect live agent state for routing and ownership decisions"]},"AgentUpdate":{"properties":{"board_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id","description":"Optional new board assignment.","examples":["22222222-2222-2222-2222-222222222222"]},"is_gateway_main":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Gateway Main","description":"Whether this agent is treated as the board gateway main."},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name","description":"Optional replacement display name.","examples":["Ops triage lead"]},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"Optional replacement lifecycle status.","examples":["active","paused"]},"heartbeat_config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Heartbeat Config","description":"Optional heartbeat policy override.","examples":[{"interval_seconds":45}]},"identity_profile":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Identity Profile","description":"Optional identity profile update values.","examples":[{"role":"coordinator"}]},"identity_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identity Template","description":"Optional replacement identity template.","examples":["Focus on root cause analysis first."]},"soul_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Soul Template","description":"Optional replacement soul template.","examples":["Escalate only after checking all known mitigations."]}},"type":"object","title":"AgentUpdate","description":"Payload for patching an existing agent.","x-llm-intent":"agent_profile_update","x-prerequisites":["Target agent id must exist and be visible to actor context"],"x-required-actor":"board_lead","x-side-effects":["Mutates agent profile state"],"x-when-not-to-use":["Creating an agent (use AgentCreate)","Hard deletes or archive actions (use lifecycle endpoints)"],"x-when-to-use":["Patch mutable agent metadata without replacing the full payload","Update status, templates, or heartbeat policy"]},"ApprovalCreate":{"properties":{"action_type":{"type":"string","title":"Action Type"},"task_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Task Id"},"task_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Task Ids"},"payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"},"confidence":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Confidence"},"rubric_scores":{"anyOf":[{"additionalProperties":{"type":"integer"},"type":"object"},{"type":"null"}],"title":"Rubric Scores"},"status":{"type":"string","enum":["pending","approved","rejected"],"title":"Status","default":"pending"},"agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Id"},"lead_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lead Reasoning"}},"type":"object","required":["action_type","confidence"],"title":"ApprovalCreate","description":"Payload for creating a new approval request."},"ApprovalRead":{"properties":{"action_type":{"type":"string","title":"Action Type"},"task_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Task Id"},"task_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Task Ids"},"payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"},"confidence":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Confidence"},"rubric_scores":{"anyOf":[{"additionalProperties":{"type":"integer"},"type":"object"},{"type":"null"}],"title":"Rubric Scores"},"status":{"type":"string","enum":["pending","approved","rejected"],"title":"Status","default":"pending"},"id":{"type":"string","format":"uuid","title":"Id"},"board_id":{"type":"string","format":"uuid","title":"Board Id"},"task_titles":{"items":{"type":"string"},"type":"array","title":"Task Titles"},"agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"resolved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Resolved At"}},"type":"object","required":["action_type","confidence","id","board_id","created_at"],"title":"ApprovalRead","description":"Approval payload returned from read endpoints."},"ApprovalUpdate":{"properties":{"status":{"anyOf":[{"type":"string","enum":["pending","approved","rejected"]},{"type":"null"}],"title":"Status"}},"type":"object","title":"ApprovalUpdate","description":"Payload for mutating approval status."},"BlockedTaskDetail":{"properties":{"message":{"type":"string","title":"Message"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"blocked_by_task_ids":{"items":{"type":"string"},"type":"array","title":"Blocked By Task Ids"}},"type":"object","required":["message"],"title":"BlockedTaskDetail","description":"Error detail payload listing blocking dependency task identifiers."},"BlockedTaskError":{"properties":{"detail":{"$ref":"#/components/schemas/BlockedTaskDetail"}},"type":"object","required":["detail"],"title":"BlockedTaskError","description":"Top-level blocked-task error response envelope."},"BoardCreate":{"properties":{"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"type":"string","title":"Description"},"gateway_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Gateway Id"},"board_group_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Group Id"},"board_type":{"type":"string","title":"Board Type","default":"goal"},"objective":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Objective"},"success_metrics":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Success Metrics"},"target_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Target Date"},"goal_confirmed":{"type":"boolean","title":"Goal Confirmed","default":false},"goal_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Goal Source"},"require_approval_for_done":{"type":"boolean","title":"Require Approval For Done","default":true},"require_review_before_done":{"type":"boolean","title":"Require Review Before Done","default":false},"comment_required_for_review":{"type":"boolean","title":"Comment Required For Review","default":false},"block_status_changes_with_pending_approval":{"type":"boolean","title":"Block Status Changes With Pending Approval","default":false},"only_lead_can_change_status":{"type":"boolean","title":"Only Lead Can Change Status","default":false},"max_agents":{"type":"integer","minimum":0.0,"title":"Max Agents","default":1}},"type":"object","required":["name","slug","description"],"title":"BoardCreate","description":"Payload for creating a board."},"BoardGroupBoardSnapshot":{"properties":{"board":{"$ref":"#/components/schemas/BoardRead"},"task_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Task Counts"},"tasks":{"items":{"$ref":"#/components/schemas/BoardGroupTaskSummary"},"type":"array","title":"Tasks"}},"type":"object","required":["board"],"title":"BoardGroupBoardSnapshot","description":"Board-level rollup embedded within a board-group snapshot."},"BoardGroupCreate":{"properties":{"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["name","slug"],"title":"BoardGroupCreate","description":"Payload for creating a board group."},"BoardGroupHeartbeatApply":{"properties":{"every":{"type":"string","title":"Every"},"include_board_leads":{"type":"boolean","title":"Include Board Leads","default":false}},"type":"object","required":["every"],"title":"BoardGroupHeartbeatApply","description":"Request payload for heartbeat policy updates."},"BoardGroupHeartbeatApplyResult":{"properties":{"board_group_id":{"type":"string","format":"uuid","title":"Board Group Id"},"requested":{"additionalProperties":true,"type":"object","title":"Requested"},"updated_agent_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Updated Agent Ids"},"failed_agent_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Failed Agent Ids"}},"type":"object","required":["board_group_id","requested","updated_agent_ids","failed_agent_ids"],"title":"BoardGroupHeartbeatApplyResult","description":"Result payload describing agents updated by a heartbeat request."},"BoardGroupMemoryCreate":{"properties":{"content":{"type":"string","minLength":1,"title":"Content"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},"type":"object","required":["content"],"title":"BoardGroupMemoryCreate","description":"Payload for creating a board-group memory entry."},"BoardGroupMemoryRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"board_group_id":{"type":"string","format":"uuid","title":"Board Group Id"},"content":{"type":"string","title":"Content"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"is_chat":{"type":"boolean","title":"Is Chat","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","board_group_id","content","created_at"],"title":"BoardGroupMemoryRead","description":"Serialized board-group memory entry returned from read endpoints."},"BoardGroupRead":{"properties":{"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","slug","id","organization_id","created_at","updated_at"],"title":"BoardGroupRead","description":"Board-group payload returned from read endpoints."},"BoardGroupSnapshot":{"properties":{"group":{"anyOf":[{"$ref":"#/components/schemas/BoardGroupRead"},{"type":"null"}]},"boards":{"items":{"$ref":"#/components/schemas/BoardGroupBoardSnapshot"},"type":"array","title":"Boards"}},"type":"object","title":"BoardGroupSnapshot","description":"Top-level board-group snapshot response payload."},"BoardGroupTaskSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"board_id":{"type":"string","format":"uuid","title":"Board Id"},"board_name":{"type":"string","title":"Board Name"},"title":{"type":"string","title":"Title"},"status":{"type":"string","title":"Status"},"priority":{"type":"string","title":"Priority"},"assigned_agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned Agent Id"},"assignee":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assignee"},"due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due At"},"in_progress_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"In Progress At"},"tags":{"items":{"$ref":"#/components/schemas/TagRef"},"type":"array","title":"Tags"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","board_id","board_name","title","status","priority","created_at","updated_at"],"title":"BoardGroupTaskSummary","description":"Task summary row used inside board-group snapshot responses."},"BoardGroupUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","title":"BoardGroupUpdate","description":"Payload for partial board-group updates."},"BoardMemoryCreate":{"properties":{"content":{"type":"string","minLength":1,"title":"Content"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},"type":"object","required":["content"],"title":"BoardMemoryCreate","description":"Payload for creating a board memory entry."},"BoardMemoryRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"board_id":{"type":"string","format":"uuid","title":"Board Id"},"content":{"type":"string","title":"Content"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"is_chat":{"type":"boolean","title":"Is Chat","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","board_id","content","created_at"],"title":"BoardMemoryRead","description":"Serialized board memory entry returned from read endpoints."},"BoardOnboardingAgentComplete":{"properties":{"board_type":{"type":"string","title":"Board Type"},"objective":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Objective"},"success_metrics":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Success Metrics"},"target_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Target Date"},"status":{"type":"string","const":"complete","title":"Status"},"user_profile":{"anyOf":[{"$ref":"#/components/schemas/BoardOnboardingUserProfile"},{"type":"null"}]},"lead_agent":{"anyOf":[{"$ref":"#/components/schemas/BoardOnboardingLeadAgentDraft"},{"type":"null"}]}},"type":"object","required":["board_type","status"],"title":"BoardOnboardingAgentComplete","description":"Complete onboarding draft produced by the onboarding assistant."},"BoardOnboardingAgentQuestion":{"properties":{"question":{"type":"string","minLength":1,"title":"Question"},"options":{"items":{"$ref":"#/components/schemas/BoardOnboardingQuestionOption"},"type":"array","minItems":1,"title":"Options"}},"type":"object","required":["question","options"],"title":"BoardOnboardingAgentQuestion","description":"Question payload emitted by the onboarding assistant."},"BoardOnboardingAnswer":{"properties":{"answer":{"type":"string","minLength":1,"title":"Answer"},"other_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other Text"}},"type":"object","required":["answer"],"title":"BoardOnboardingAnswer","description":"User answer payload for a single onboarding question."},"BoardOnboardingConfirm":{"properties":{"board_type":{"type":"string","title":"Board Type"},"objective":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Objective"},"success_metrics":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Success Metrics"},"target_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Target Date"}},"type":"object","required":["board_type"],"title":"BoardOnboardingConfirm","description":"Payload used to confirm generated onboarding draft fields."},"BoardOnboardingLeadAgentDraft":{"properties":{"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name"},"identity_profile":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Identity Profile"},"autonomy_level":{"anyOf":[{"type":"string","enum":["ask_first","balanced","autonomous"]},{"type":"null"}],"title":"Autonomy Level"},"verbosity":{"anyOf":[{"type":"string","enum":["concise","balanced","detailed"]},{"type":"null"}],"title":"Verbosity"},"output_format":{"anyOf":[{"type":"string","enum":["bullets","mixed","narrative"]},{"type":"null"}],"title":"Output Format"},"update_cadence":{"anyOf":[{"type":"string","enum":["asap","hourly","daily","weekly"]},{"type":"null"}],"title":"Update Cadence"},"custom_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Instructions"}},"type":"object","title":"BoardOnboardingLeadAgentDraft","description":"Editable lead-agent draft configuration."},"BoardOnboardingQuestionOption":{"properties":{"id":{"type":"string","minLength":1,"title":"Id"},"label":{"type":"string","minLength":1,"title":"Label"}},"type":"object","required":["id","label"],"title":"BoardOnboardingQuestionOption","description":"Selectable option for an onboarding question."},"BoardOnboardingRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"board_id":{"type":"string","format":"uuid","title":"Board Id"},"session_key":{"type":"string","title":"Session Key"},"status":{"type":"string","title":"Status"},"messages":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Messages"},"draft_goal":{"anyOf":[{"$ref":"#/components/schemas/BoardOnboardingAgentComplete"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","board_id","session_key","status","created_at","updated_at"],"title":"BoardOnboardingRead","description":"Stored onboarding session state returned by API endpoints."},"BoardOnboardingStart":{"properties":{},"type":"object","title":"BoardOnboardingStart","description":"Start signal for initializing onboarding conversation."},"BoardOnboardingUserProfile":{"properties":{"preferred_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Name"},"pronouns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pronouns"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context"}},"type":"object","title":"BoardOnboardingUserProfile","description":"User-profile preferences gathered during onboarding."},"BoardRead":{"properties":{"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"type":"string","title":"Description"},"gateway_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Gateway Id"},"board_group_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Group Id"},"board_type":{"type":"string","title":"Board Type","default":"goal"},"objective":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Objective"},"success_metrics":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Success Metrics"},"target_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Target Date"},"goal_confirmed":{"type":"boolean","title":"Goal Confirmed","default":false},"goal_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Goal Source"},"require_approval_for_done":{"type":"boolean","title":"Require Approval For Done","default":true},"require_review_before_done":{"type":"boolean","title":"Require Review Before Done","default":false},"comment_required_for_review":{"type":"boolean","title":"Comment Required For Review","default":false},"block_status_changes_with_pending_approval":{"type":"boolean","title":"Block Status Changes With Pending Approval","default":false},"only_lead_can_change_status":{"type":"boolean","title":"Only Lead Can Change Status","default":false},"max_agents":{"type":"integer","minimum":0.0,"title":"Max Agents","default":1},"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","slug","description","id","organization_id","created_at","updated_at"],"title":"BoardRead","description":"Board payload returned from read endpoints."},"BoardSnapshot":{"properties":{"board":{"$ref":"#/components/schemas/BoardRead"},"tasks":{"items":{"$ref":"#/components/schemas/TaskCardRead"},"type":"array","title":"Tasks"},"agents":{"items":{"$ref":"#/components/schemas/AgentRead"},"type":"array","title":"Agents"},"approvals":{"items":{"$ref":"#/components/schemas/ApprovalRead"},"type":"array","title":"Approvals"},"chat_messages":{"items":{"$ref":"#/components/schemas/BoardMemoryRead"},"type":"array","title":"Chat Messages"},"pending_approvals_count":{"type":"integer","title":"Pending Approvals Count","default":0}},"type":"object","required":["board","tasks","agents","approvals","chat_messages"],"title":"BoardSnapshot","description":"Aggregated board payload used by board snapshot endpoints."},"BoardUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"gateway_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Gateway Id"},"board_group_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Group Id"},"board_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Type"},"objective":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Objective"},"success_metrics":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Success Metrics"},"target_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Target Date"},"goal_confirmed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Goal Confirmed"},"goal_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Goal Source"},"require_approval_for_done":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Require Approval For Done"},"require_review_before_done":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Require Review Before Done"},"comment_required_for_review":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Comment Required For Review"},"block_status_changes_with_pending_approval":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Block Status Changes With Pending Approval"},"only_lead_can_change_status":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Only Lead Can Change Status"},"max_agents":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Max Agents"}},"type":"object","title":"BoardUpdate","description":"Payload for partial board updates."},"BoardWebhookCreate":{"properties":{"description":{"type":"string","minLength":1,"title":"Description"},"enabled":{"type":"boolean","title":"Enabled","default":true},"agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Id"},"secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secret"},"signature_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature Header"}},"type":"object","required":["description"],"title":"BoardWebhookCreate","description":"Payload for creating a board webhook."},"BoardWebhookIngestResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true},"board_id":{"type":"string","format":"uuid","title":"Board Id"},"webhook_id":{"type":"string","format":"uuid","title":"Webhook Id"},"payload_id":{"type":"string","format":"uuid","title":"Payload Id"}},"type":"object","required":["board_id","webhook_id","payload_id"],"title":"BoardWebhookIngestResponse","description":"Response payload for inbound webhook ingestion."},"BoardWebhookPayloadRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"board_id":{"type":"string","format":"uuid","title":"Board Id"},"webhook_id":{"type":"string","format":"uuid","title":"Webhook Id"},"payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"items":{},"type":"array"},{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"title":"Payload"},"headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Headers"},"source_ip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Ip"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"received_at":{"type":"string","format":"date-time","title":"Received At"}},"type":"object","required":["id","board_id","webhook_id","received_at"],"title":"BoardWebhookPayloadRead","description":"Serialized stored webhook payload."},"BoardWebhookRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"board_id":{"type":"string","format":"uuid","title":"Board Id"},"agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Id"},"description":{"type":"string","title":"Description"},"enabled":{"type":"boolean","title":"Enabled"},"has_secret":{"type":"boolean","title":"Has Secret","default":false},"signature_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature Header"},"endpoint_path":{"type":"string","title":"Endpoint Path"},"endpoint_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","board_id","description","enabled","endpoint_path","created_at","updated_at"],"title":"BoardWebhookRead","description":"Serialized board webhook configuration."},"BoardWebhookUpdate":{"properties":{"description":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Description"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Id"},"secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secret"},"signature_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature Header"}},"type":"object","title":"BoardWebhookUpdate","description":"Payload for updating a board webhook."},"DashboardKpis":{"properties":{"active_agents":{"type":"integer","title":"Active Agents"},"tasks_in_progress":{"type":"integer","title":"Tasks In Progress"},"inbox_tasks":{"type":"integer","title":"Inbox Tasks"},"in_progress_tasks":{"type":"integer","title":"In Progress Tasks"},"review_tasks":{"type":"integer","title":"Review Tasks"},"done_tasks":{"type":"integer","title":"Done Tasks"},"error_rate_pct":{"type":"number","title":"Error Rate Pct"},"median_cycle_time_hours_7d":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Median Cycle Time Hours 7D"}},"type":"object","required":["active_agents","tasks_in_progress","inbox_tasks","in_progress_tasks","review_tasks","done_tasks","error_rate_pct","median_cycle_time_hours_7d"],"title":"DashboardKpis","description":"Topline dashboard KPI summary values."},"DashboardMetrics":{"properties":{"range":{"type":"string","enum":["24h","3d","7d","14d","1m","3m","6m","1y"],"title":"Range"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"kpis":{"$ref":"#/components/schemas/DashboardKpis"},"throughput":{"$ref":"#/components/schemas/DashboardSeriesSet"},"cycle_time":{"$ref":"#/components/schemas/DashboardSeriesSet"},"error_rate":{"$ref":"#/components/schemas/DashboardSeriesSet"},"wip":{"$ref":"#/components/schemas/DashboardWipSeriesSet"},"pending_approvals":{"$ref":"#/components/schemas/DashboardPendingApprovals"}},"type":"object","required":["range","generated_at","kpis","throughput","cycle_time","error_rate","wip","pending_approvals"],"title":"DashboardMetrics","description":"Complete dashboard metrics response payload."},"DashboardPendingApproval":{"properties":{"approval_id":{"type":"string","format":"uuid","title":"Approval Id"},"board_id":{"type":"string","format":"uuid","title":"Board Id"},"board_name":{"type":"string","title":"Board Name"},"action_type":{"type":"string","title":"Action Type"},"confidence":{"type":"number","title":"Confidence"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"task_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Title"}},"type":"object","required":["approval_id","board_id","board_name","action_type","confidence","created_at"],"title":"DashboardPendingApproval","description":"Single pending approval item for cross-board dashboard listing."},"DashboardPendingApprovals":{"properties":{"total":{"type":"integer","title":"Total"},"items":{"items":{"$ref":"#/components/schemas/DashboardPendingApproval"},"type":"array","title":"Items"}},"type":"object","required":["total","items"],"title":"DashboardPendingApprovals","description":"Pending approval snapshot used on the dashboard."},"DashboardRangeSeries":{"properties":{"range":{"type":"string","enum":["24h","3d","7d","14d","1m","3m","6m","1y"],"title":"Range"},"bucket":{"type":"string","enum":["hour","day","week","month"],"title":"Bucket"},"points":{"items":{"$ref":"#/components/schemas/DashboardSeriesPoint"},"type":"array","title":"Points"}},"type":"object","required":["range","bucket","points"],"title":"DashboardRangeSeries","description":"Series payload for a single range/bucket combination."},"DashboardSeriesPoint":{"properties":{"period":{"type":"string","format":"date-time","title":"Period"},"value":{"type":"number","title":"Value"}},"type":"object","required":["period","value"],"title":"DashboardSeriesPoint","description":"Single numeric time-series point."},"DashboardSeriesSet":{"properties":{"primary":{"$ref":"#/components/schemas/DashboardRangeSeries"},"comparison":{"$ref":"#/components/schemas/DashboardRangeSeries"}},"type":"object","required":["primary","comparison"],"title":"DashboardSeriesSet","description":"Primary vs comparison pair for generic series metrics."},"DashboardWipPoint":{"properties":{"period":{"type":"string","format":"date-time","title":"Period"},"inbox":{"type":"integer","title":"Inbox"},"in_progress":{"type":"integer","title":"In Progress"},"review":{"type":"integer","title":"Review"},"done":{"type":"integer","title":"Done"}},"type":"object","required":["period","inbox","in_progress","review","done"],"title":"DashboardWipPoint","description":"Work-in-progress point split by task status buckets."},"DashboardWipRangeSeries":{"properties":{"range":{"type":"string","enum":["24h","3d","7d","14d","1m","3m","6m","1y"],"title":"Range"},"bucket":{"type":"string","enum":["hour","day","week","month"],"title":"Bucket"},"points":{"items":{"$ref":"#/components/schemas/DashboardWipPoint"},"type":"array","title":"Points"}},"type":"object","required":["range","bucket","points"],"title":"DashboardWipRangeSeries","description":"WIP series payload for a single range/bucket combination."},"DashboardWipSeriesSet":{"properties":{"primary":{"$ref":"#/components/schemas/DashboardWipRangeSeries"},"comparison":{"$ref":"#/components/schemas/DashboardWipRangeSeries"}},"type":"object","required":["primary","comparison"],"title":"DashboardWipSeriesSet","description":"Primary vs comparison pair for WIP status series metrics."},"GatewayCommandsResponse":{"properties":{"protocol_version":{"type":"integer","title":"Protocol Version"},"methods":{"items":{"type":"string"},"type":"array","title":"Methods"},"events":{"items":{"type":"string"},"type":"array","title":"Events"}},"type":"object","required":["protocol_version","methods","events"],"title":"GatewayCommandsResponse","description":"Gateway command catalog and protocol metadata."},"GatewayCreate":{"properties":{"name":{"type":"string","title":"Name"},"url":{"type":"string","title":"Url"},"workspace_root":{"type":"string","title":"Workspace Root"},"allow_insecure_tls":{"type":"boolean","title":"Allow Insecure Tls","default":false},"disable_device_pairing":{"type":"boolean","title":"Disable Device Pairing","default":false},"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},"type":"object","required":["name","url","workspace_root"],"title":"GatewayCreate","description":"Payload for creating a gateway configuration."},"GatewayLeadBroadcastBoardResult":{"properties":{"board_id":{"type":"string","format":"uuid","title":"Board Id","description":"Target board id for this result."},"lead_agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Lead Agent Id","description":"Resolved lead agent id for the target board."},"lead_agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lead Agent Name","description":"Resolved lead agent display name."},"ok":{"type":"boolean","title":"Ok","description":"Whether this board delivery succeeded.","default":false},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"Failure reason if this board failed."}},"type":"object","required":["board_id"],"title":"GatewayLeadBroadcastBoardResult","description":"Per-board result entry for a lead broadcast operation.","x-interpretation":"Use this result object as a transport status for one board.","x-llm-intent":"lead_broadcast_status","x-when-not-to-use":["Global summary checks should use parent broadcast response"],"x-when-to-use":["Reading per-board outcomes for retries/follow-up workflows"]},"GatewayLeadBroadcastRequest":{"properties":{"kind":{"type":"string","enum":["question","handoff"],"title":"Kind","description":"Broadcast intent. `question` asks for responses; `handoff` requests transfer.","default":"question","examples":["question","handoff"]},"correlation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correlation Id","description":"Optional correlation token shared with downstream handlers.","examples":["broadcast-2026-02-14"]},"content":{"type":"string","minLength":1,"title":"Content","description":"Message content distributed to selected board leads.","examples":["Board-wide incident: prioritize risk triage on task set 14."]},"board_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Board Ids","description":"Optional explicit list of board IDs; omit for lead-scoped defaults.","examples":[["11111111-1111-1111-1111-111111111111"]]},"reply_tags":{"items":{"type":"string"},"type":"array","title":"Reply Tags","description":"Tags required by reply templates when each lead responds.","examples":[["gateway_main","lead_reply"]]},"reply_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reply Source","description":"Reply destination key for broadcast responses.","default":"lead_to_gateway_main","examples":["lead_to_gateway_main"]}},"type":"object","required":["content"],"title":"GatewayLeadBroadcastRequest","description":"Request payload for broadcasting a message to multiple board leads.","x-llm-intent":"lead_broadcast_message","x-required-actor":"main_agent","x-response-shape":"GatewayLeadBroadcastResponse","x-when-not-to-use":["Single lead response required (use direct message)","Personalized board-level instruction from agent context"],"x-when-to-use":["Multiple board leads need the same message","Coordinating cross-board operational alerts"]},"GatewayLeadBroadcastResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","description":"Whether broadcast execution succeeded.","default":true},"sent":{"type":"integer","title":"Sent","description":"Number of boards successfully messaged.","default":0},"failed":{"type":"integer","title":"Failed","description":"Number of boards that failed messaging.","default":0},"results":{"items":{"$ref":"#/components/schemas/GatewayLeadBroadcastBoardResult"},"type":"array","title":"Results"}},"type":"object","title":"GatewayLeadBroadcastResponse","description":"Aggregate response for a lead broadcast operation.","x-interpretation":"Use sent/failed counters before considering retry logic.","x-llm-intent":"lead_broadcast_summary","x-required-actor":"lead_agent_or_router","x-response-shape":"List of GatewayLeadBroadcastBoardResult","x-when-not-to-use":["Single-board directed lead message (use GatewayLeadMessageResponse)"],"x-when-to-use":["Inspect final counters after attempting a multi-board send."]},"GatewayLeadMessageRequest":{"properties":{"kind":{"type":"string","enum":["question","handoff"],"title":"Kind","description":"Routing mode for lead messages.","default":"question","examples":["question","handoff"]},"correlation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correlation Id","description":"Optional correlation token shared across upstream and downstream systems.","examples":["lead-msg-1234"]},"content":{"type":"string","minLength":1,"title":"Content","description":"Human-readable body sent to lead agents.","examples":["Please triage the highest-priority blocker on board X."]},"reply_tags":{"items":{"type":"string"},"type":"array","title":"Reply Tags","description":"Tags required by reply templates when the lead responds.","examples":[["gateway_main","lead_reply"]]},"reply_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reply Source","description":"Reply destination key for the orchestrator.","default":"lead_to_gateway_main","examples":["lead_to_gateway_main"]}},"type":"object","required":["content"],"title":"GatewayLeadMessageRequest","description":"Request payload for sending a message to a board lead agent.","x-llm-intent":"lead_direct_message","x-required-actor":"main_agent","x-response-shape":"GatewayLeadMessageResponse","x-when-not-to-use":["Broadcasting to many leads (use broadcast request)","Requesting end-user decisions (use ask-user request)"],"x-when-to-use":["A board has an urgent tactical request that needs direct lead routing","You need a specific lead response before delegating work"]},"GatewayLeadMessageResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","description":"Whether dispatch was accepted.","default":true},"board_id":{"type":"string","format":"uuid","title":"Board Id","description":"Board receiving the message."},"lead_agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Lead Agent Id","description":"Resolved lead agent id when present."},"lead_agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lead Agent Name","description":"Resolved lead agent display name."},"lead_created":{"type":"boolean","title":"Lead Created","description":"Whether a lead fallback actor was created during routing.","default":false}},"type":"object","required":["board_id"],"title":"GatewayLeadMessageResponse","description":"Response payload for a lead-message dispatch attempt.","x-interpretation":"Use to confirm handoff path and recipient lead context.","x-llm-intent":"lead_direct_message_result","x-required-actor":"gateway_main","x-when-not-to-use":["Broadcast outcomes (use GatewayLeadBroadcastResponse)"],"x-when-to-use":["Confirm lead routing outcome for a direct message request."]},"GatewayMainAskUserRequest":{"properties":{"correlation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correlation Id","description":"Optional correlation token for tracing request/response flow.","examples":["ask-user-001"]},"content":{"type":"string","minLength":1,"title":"Content","description":"Prompt that should be asked to the human.","examples":["Can we proceed with the proposed vendor budget increase?"]},"preferred_channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Channel","description":"Optional preferred messaging channel.","examples":["chat","email"]},"reply_tags":{"items":{"type":"string"},"type":"array","title":"Reply Tags","description":"Tags required for routing the user response.","examples":[["gateway_main","user_reply"]]},"reply_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reply Source","description":"Reply destination key for user confirmation loops.","default":"user_via_gateway_main","examples":["user_via_gateway_main"]}},"type":"object","required":["content"],"title":"GatewayMainAskUserRequest","description":"Request payload for asking the end user via a main gateway agent.","x-llm-intent":"human_escalation_request","x-required-actor":"lead_agent","x-response-shape":"GatewayMainAskUserResponse","x-when-to-use":["Blocking decision requires explicit user input","Task flow requires preference confirmation or permission"]},"GatewayMainAskUserResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","description":"Whether ask-user dispatch was accepted.","default":true},"board_id":{"type":"string","format":"uuid","title":"Board Id","description":"Board context used for the request."},"main_agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Main Agent Id","description":"Resolved main agent id handling the ask."},"main_agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Main Agent Name","description":"Resolved main agent display name."}},"type":"object","required":["board_id"],"title":"GatewayMainAskUserResponse","description":"Response payload for user-question dispatch via gateway main agent.","x-interpretation":"Track whether ask was accepted and which main agent handled it.","x-llm-intent":"human_escalation_result","x-required-actor":"lead_agent","x-when-not-to-use":["Regular lead routing outcomes (use lead message/broadcast responses)"],"x-when-to-use":["Track completion and main-agent handoff after human escalation request."]},"GatewayRead":{"properties":{"name":{"type":"string","title":"Name"},"url":{"type":"string","title":"Url"},"workspace_root":{"type":"string","title":"Workspace Root"},"allow_insecure_tls":{"type":"boolean","title":"Allow Insecure Tls","default":false},"disable_device_pairing":{"type":"boolean","title":"Disable Device Pairing","default":false},"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","url","workspace_root","id","organization_id","created_at","updated_at"],"title":"GatewayRead","description":"Gateway payload returned from read endpoints."},"GatewaySessionHistoryResponse":{"properties":{"history":{"items":{},"type":"array","title":"History"}},"type":"object","required":["history"],"title":"GatewaySessionHistoryResponse","description":"Gateway session history response payload."},"GatewaySessionMessageRequest":{"properties":{"content":{"type":"string","minLength":1,"title":"Content"}},"type":"object","required":["content"],"title":"GatewaySessionMessageRequest","description":"Request payload for sending a message into a gateway session."},"GatewaySessionResponse":{"properties":{"session":{"title":"Session"}},"type":"object","required":["session"],"title":"GatewaySessionResponse","description":"Single gateway session response payload."},"GatewaySessionsResponse":{"properties":{"sessions":{"items":{},"type":"array","title":"Sessions"},"main_session":{"anyOf":[{},{"type":"null"}],"title":"Main Session"}},"type":"object","required":["sessions"],"title":"GatewaySessionsResponse","description":"Gateway sessions list response payload."},"GatewayTemplatesSyncError":{"properties":{"agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Id"},"agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Name"},"board_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id"},"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"GatewayTemplatesSyncError","description":"Per-agent error entry from a gateway template sync operation."},"GatewayTemplatesSyncResult":{"properties":{"gateway_id":{"type":"string","format":"uuid","title":"Gateway Id"},"include_main":{"type":"boolean","title":"Include Main"},"reset_sessions":{"type":"boolean","title":"Reset Sessions"},"agents_updated":{"type":"integer","title":"Agents Updated"},"agents_skipped":{"type":"integer","title":"Agents Skipped"},"main_updated":{"type":"boolean","title":"Main Updated"},"errors":{"items":{"$ref":"#/components/schemas/GatewayTemplatesSyncError"},"type":"array","title":"Errors"}},"type":"object","required":["gateway_id","include_main","reset_sessions","agents_updated","agents_skipped","main_updated"],"title":"GatewayTemplatesSyncResult","description":"Summary payload returned by gateway template sync endpoints."},"GatewayUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"},"workspace_root":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Root"},"allow_insecure_tls":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allow Insecure Tls"},"disable_device_pairing":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Disable Device Pairing"}},"type":"object","title":"GatewayUpdate","description":"Payload for partial gateway updates."},"GatewaysStatusResponse":{"properties":{"connected":{"type":"boolean","title":"Connected"},"gateway_url":{"type":"string","title":"Gateway Url"},"sessions_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sessions Count"},"sessions":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Sessions"},"main_session":{"anyOf":[{},{"type":"null"}],"title":"Main Session"},"main_session_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Main Session Error"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["connected","gateway_url"],"title":"GatewaysStatusResponse","description":"Aggregated gateway status response including session metadata."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthStatusResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","description":"Indicates whether the probe check succeeded.","examples":[true]}},"type":"object","required":["ok"],"title":"HealthStatusResponse","description":"Standard payload for service liveness/readiness checks."},"LLMErrorResponse":{"properties":{"detail":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"},{"items":{},"type":"array"}],"title":"Detail","description":"Error payload. Agents should rely on `code` when present and default to `message` for fallback display.","examples":["Invalid payload for lead escalation.",{"code":"not_found","message":"Agent not found."}]},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id","description":"Request correlation identifier injected by middleware."},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code","description":"Optional machine-readable error code.","examples":["gateway_unavailable","dependency_validation_failed"]},"retryable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Retryable","description":"Whether a client should retry the call after remediating transient conditions."}},"type":"object","required":["detail"],"title":"LLMErrorResponse","description":"Standardized LLM-facing error payload used by API contracts.","x-llm-intent":"llm_error_handling","x-required-actor":"agent","x-side-effects":["Returns explicit machine-readable error context","Includes request_id for end-to-end traceability"],"x-when-to-use":["Structured, tool-facing API errors for agent workflows","Gateway handoff and delegated-task operations"]},"LimitOffsetPage_TypeVar_Customized_ActivityEventRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ActivityEventRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[ActivityEventRead]"},"LimitOffsetPage_TypeVar_Customized_ActivityTaskCommentFeedItemRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ActivityTaskCommentFeedItemRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[ActivityTaskCommentFeedItemRead]"},"LimitOffsetPage_TypeVar_Customized_AgentRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AgentRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[AgentRead]"},"LimitOffsetPage_TypeVar_Customized_ApprovalRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ApprovalRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[ApprovalRead]"},"LimitOffsetPage_TypeVar_Customized_BoardGroupMemoryRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BoardGroupMemoryRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[BoardGroupMemoryRead]"},"LimitOffsetPage_TypeVar_Customized_BoardGroupRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BoardGroupRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[BoardGroupRead]"},"LimitOffsetPage_TypeVar_Customized_BoardMemoryRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BoardMemoryRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[BoardMemoryRead]"},"LimitOffsetPage_TypeVar_Customized_BoardRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BoardRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[BoardRead]"},"LimitOffsetPage_TypeVar_Customized_BoardWebhookPayloadRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BoardWebhookPayloadRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[BoardWebhookPayloadRead]"},"LimitOffsetPage_TypeVar_Customized_BoardWebhookRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BoardWebhookRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[BoardWebhookRead]"},"LimitOffsetPage_TypeVar_Customized_GatewayRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/GatewayRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[GatewayRead]"},"LimitOffsetPage_TypeVar_Customized_OrganizationInviteRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/OrganizationInviteRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[OrganizationInviteRead]"},"LimitOffsetPage_TypeVar_Customized_OrganizationMemberRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/OrganizationMemberRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[OrganizationMemberRead]"},"LimitOffsetPage_TypeVar_Customized_TagRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TagRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[TagRead]"},"LimitOffsetPage_TypeVar_Customized_TaskCommentRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TaskCommentRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[TaskCommentRead]"},"LimitOffsetPage_TypeVar_Customized_TaskRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TaskRead"},"type":"array","title":"Items"},"total":{"type":"integer","minimum":0.0,"title":"Total"},"limit":{"type":"integer","minimum":1.0,"title":"Limit"},"offset":{"type":"integer","minimum":0.0,"title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"LimitOffsetPage[TypeVar]Customized[TaskRead]"},"MarketplaceSkillActionResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true},"skill_id":{"type":"string","format":"uuid","title":"Skill Id"},"gateway_id":{"type":"string","format":"uuid","title":"Gateway Id"},"installed":{"type":"boolean","title":"Installed"}},"type":"object","required":["skill_id","gateway_id","installed"],"title":"MarketplaceSkillActionResponse","description":"Install/uninstall action response payload."},"MarketplaceSkillCardRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"risk":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"type":"string","title":"Source Url"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"installed":{"type":"boolean","title":"Installed"},"installed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Installed At"}},"type":"object","required":["id","organization_id","name","source_url","created_at","updated_at","installed"],"title":"MarketplaceSkillCardRead","description":"Marketplace card payload with gateway-specific install state."},"MarketplaceSkillCreate":{"properties":{"source_url":{"type":"string","minLength":1,"format":"uri","title":"Source Url"},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["source_url"],"title":"MarketplaceSkillCreate","description":"Payload used to register a skill URL in the organization marketplace."},"MarketplaceSkillRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"risk":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"source_url":{"type":"string","title":"Source Url"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","organization_id","name","source_url","created_at","updated_at"],"title":"MarketplaceSkillRead","description":"Serialized marketplace skill catalog record."},"OkResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true}},"type":"object","title":"OkResponse","description":"Standard success response payload."},"OrganizationActiveUpdate":{"properties":{"organization_id":{"type":"string","format":"uuid","title":"Organization Id"}},"type":"object","required":["organization_id"],"title":"OrganizationActiveUpdate","description":"Payload for switching the active organization context."},"OrganizationBoardAccessRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"board_id":{"type":"string","format":"uuid","title":"Board Id"},"can_read":{"type":"boolean","title":"Can Read"},"can_write":{"type":"boolean","title":"Can Write"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","board_id","can_read","can_write","created_at","updated_at"],"title":"OrganizationBoardAccessRead","description":"Board access payload returned from read endpoints."},"OrganizationBoardAccessSpec":{"properties":{"board_id":{"type":"string","format":"uuid","title":"Board Id"},"can_read":{"type":"boolean","title":"Can Read","default":true},"can_write":{"type":"boolean","title":"Can Write","default":false}},"type":"object","required":["board_id"],"title":"OrganizationBoardAccessSpec","description":"Board access specification used in member/invite mutation payloads."},"OrganizationCreate":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"OrganizationCreate","description":"Payload for creating a new organization."},"OrganizationInviteAccept":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"OrganizationInviteAccept","description":"Payload for accepting an organization invite token."},"OrganizationInviteCreate":{"properties":{"invited_email":{"type":"string","title":"Invited Email"},"role":{"type":"string","title":"Role","default":"member"},"all_boards_read":{"type":"boolean","title":"All Boards Read","default":false},"all_boards_write":{"type":"boolean","title":"All Boards Write","default":false},"board_access":{"items":{"$ref":"#/components/schemas/OrganizationBoardAccessSpec"},"type":"array","title":"Board Access"}},"type":"object","required":["invited_email"],"title":"OrganizationInviteCreate","description":"Payload for creating an organization invite."},"OrganizationInviteRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"invited_email":{"type":"string","title":"Invited Email"},"role":{"type":"string","title":"Role"},"all_boards_read":{"type":"boolean","title":"All Boards Read"},"all_boards_write":{"type":"boolean","title":"All Boards Write"},"token":{"type":"string","title":"Token"},"created_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By User Id"},"accepted_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Accepted By User Id"},"accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","organization_id","invited_email","role","all_boards_read","all_boards_write","token","created_at","updated_at"],"title":"OrganizationInviteRead","description":"Organization invite payload returned from read endpoints."},"OrganizationListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"role":{"type":"string","title":"Role"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["id","name","role","is_active"],"title":"OrganizationListItem","description":"Organization list row for current user memberships."},"OrganizationMemberAccessUpdate":{"properties":{"all_boards_read":{"type":"boolean","title":"All Boards Read","default":false},"all_boards_write":{"type":"boolean","title":"All Boards Write","default":false},"board_access":{"items":{"$ref":"#/components/schemas/OrganizationBoardAccessSpec"},"type":"array","title":"Board Access"}},"type":"object","title":"OrganizationMemberAccessUpdate","description":"Payload for replacing organization member access permissions."},"OrganizationMemberRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"role":{"type":"string","title":"Role"},"all_boards_read":{"type":"boolean","title":"All Boards Read"},"all_boards_write":{"type":"boolean","title":"All Boards Write"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"user":{"anyOf":[{"$ref":"#/components/schemas/OrganizationUserRead"},{"type":"null"}]},"board_access":{"items":{"$ref":"#/components/schemas/OrganizationBoardAccessRead"},"type":"array","title":"Board Access"}},"type":"object","required":["id","organization_id","user_id","role","all_boards_read","all_boards_write","created_at","updated_at"],"title":"OrganizationMemberRead","description":"Organization member payload including board-level access overrides."},"OrganizationMemberUpdate":{"properties":{"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"}},"type":"object","title":"OrganizationMemberUpdate","description":"Payload for partial updates to organization member role."},"OrganizationRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","created_at","updated_at"],"title":"OrganizationRead","description":"Organization payload returned by read endpoints."},"OrganizationUserRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"preferred_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Name"}},"type":"object","required":["id"],"title":"OrganizationUserRead","description":"Embedded user fields included in organization member payloads."},"SkillPackCreate":{"properties":{"source_url":{"type":"string","minLength":1,"format":"uri","title":"Source Url"},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"branch":{"type":"string","title":"Branch","default":"main"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["source_url"],"title":"SkillPackCreate","description":"Payload used to register a pack URL in the organization."},"SkillPackRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"source_url":{"type":"string","title":"Source Url"},"branch":{"type":"string","title":"Branch"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"skill_count":{"type":"integer","title":"Skill Count","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","organization_id","name","source_url","branch","created_at","updated_at"],"title":"SkillPackRead","description":"Serialized skill pack record."},"SkillPackSyncResponse":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true},"pack_id":{"type":"string","format":"uuid","title":"Pack Id"},"synced":{"type":"integer","title":"Synced"},"created":{"type":"integer","title":"Created"},"updated":{"type":"integer","title":"Updated"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings"}},"type":"object","required":["pack_id","synced","created","updated"],"title":"SkillPackSyncResponse","description":"Pack sync summary payload."},"SoulUpdateRequest":{"properties":{"content":{"type":"string","title":"Content"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["content"],"title":"SoulUpdateRequest","description":"Payload for updating an agent SOUL document."},"SoulsDirectoryMarkdownResponse":{"properties":{"handle":{"type":"string","title":"Handle"},"slug":{"type":"string","title":"Slug"},"content":{"type":"string","title":"Content"}},"type":"object","required":["handle","slug","content"],"title":"SoulsDirectoryMarkdownResponse","description":"Response payload containing rendered markdown for a soul."},"SoulsDirectorySearchResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SoulsDirectorySoulRef"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"SoulsDirectorySearchResponse","description":"Response wrapper for directory search results."},"SoulsDirectorySoulRef":{"properties":{"handle":{"type":"string","title":"Handle"},"slug":{"type":"string","title":"Slug"},"page_url":{"type":"string","title":"Page Url"},"raw_md_url":{"type":"string","title":"Raw Md Url"}},"type":"object","required":["handle","slug","page_url","raw_md_url"],"title":"SoulsDirectorySoulRef","description":"Reference metadata for a soul entry in the directory index."},"TagCreate":{"properties":{"name":{"type":"string","minLength":1,"title":"Name"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"color":{"type":"string","title":"Color","default":"9e9e9e"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["name"],"title":"TagCreate","description":"Payload for creating a tag."},"TagRead":{"properties":{"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"color":{"type":"string","title":"Color","default":"9e9e9e"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"task_count":{"type":"integer","title":"Task Count","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","slug","id","organization_id","created_at","updated_at"],"title":"TagRead","description":"Tag payload returned from API endpoints."},"TagRef":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"color":{"type":"string","title":"Color"}},"type":"object","required":["id","name","slug","color"],"title":"TagRef","description":"Compact tag representation embedded in task payloads."},"TagUpdate":{"properties":{"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","title":"TagUpdate","description":"Payload for partial tag updates."},"TaskCardRead":{"properties":{"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"type":"string","enum":["inbox","in_progress","review","done"],"title":"Status","default":"inbox"},"priority":{"type":"string","title":"Priority","default":"medium"},"due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due At"},"assigned_agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned Agent Id"},"depends_on_task_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Depends On Task Ids"},"tag_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Tag Ids"},"id":{"type":"string","format":"uuid","title":"Id"},"board_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id"},"created_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By User Id"},"in_progress_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"In Progress At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"blocked_by_task_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Blocked By Task Ids"},"is_blocked":{"type":"boolean","title":"Is Blocked","default":false},"tags":{"items":{"$ref":"#/components/schemas/TagRef"},"type":"array","title":"Tags"},"custom_field_values":{"anyOf":[{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"type":"object"},{"type":"null"}],"title":"Custom Field Values"},"assignee":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assignee"},"approvals_count":{"type":"integer","title":"Approvals Count","default":0},"approvals_pending_count":{"type":"integer","title":"Approvals Pending Count","default":0}},"type":"object","required":["title","id","board_id","created_by_user_id","in_progress_at","created_at","updated_at"],"title":"TaskCardRead","description":"Task read model enriched with assignee and approval counters."},"TaskCommentCreate":{"properties":{"message":{"type":"string","minLength":1,"title":"Message"}},"type":"object","required":["message"],"title":"TaskCommentCreate","description":"Payload for creating a task comment."},"TaskCommentRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Id"},"task_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Task Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","message","agent_id","task_id","created_at"],"title":"TaskCommentRead","description":"Task comment payload returned from read endpoints."},"TaskCreate":{"properties":{"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"type":"string","enum":["inbox","in_progress","review","done"],"title":"Status","default":"inbox"},"priority":{"type":"string","title":"Priority","default":"medium"},"due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due At"},"assigned_agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned Agent Id"},"depends_on_task_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Depends On Task Ids"},"tag_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Tag Ids"},"created_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By User Id"},"custom_field_values":{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"type":"object","title":"Custom Field Values"}},"type":"object","required":["title"],"title":"TaskCreate","description":"Payload for creating a task."},"TaskCustomFieldDefinitionCreate":{"properties":{"field_key":{"type":"string","minLength":1,"title":"Field Key"},"label":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Label"},"field_type":{"type":"string","enum":["text","text_long","integer","decimal","boolean","date","date_time","url","json"],"title":"Field Type","default":"text"},"ui_visibility":{"type":"string","enum":["always","if_set","hidden"],"title":"Ui Visibility","default":"always"},"validation_regex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validation Regex"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"required":{"type":"boolean","title":"Required","default":false},"default_value":{"anyOf":[{},{"type":"null"}],"title":"Default Value"},"board_ids":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Board Ids"}},"type":"object","required":["field_key","board_ids"],"title":"TaskCustomFieldDefinitionCreate","description":"Payload for creating a task custom field definition."},"TaskCustomFieldDefinitionRead":{"properties":{"field_key":{"type":"string","title":"Field Key"},"label":{"type":"string","title":"Label"},"field_type":{"type":"string","enum":["text","text_long","integer","decimal","boolean","date","date_time","url","json"],"title":"Field Type"},"ui_visibility":{"type":"string","enum":["always","if_set","hidden"],"title":"Ui Visibility"},"validation_regex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validation Regex"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"required":{"type":"boolean","title":"Required","default":false},"default_value":{"anyOf":[{},{"type":"null"}],"title":"Default Value"},"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"board_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Board Ids"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["field_key","label","field_type","ui_visibility","id","organization_id","created_at","updated_at"],"title":"TaskCustomFieldDefinitionRead","description":"Payload returned for custom field definitions."},"TaskCustomFieldDefinitionUpdate":{"properties":{"label":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Label"},"field_type":{"anyOf":[{"type":"string","enum":["text","text_long","integer","decimal","boolean","date","date_time","url","json"]},{"type":"null"}],"title":"Field Type"},"ui_visibility":{"anyOf":[{"type":"string","enum":["always","if_set","hidden"]},{"type":"null"}],"title":"Ui Visibility"},"validation_regex":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Validation Regex"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"required":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Required"},"default_value":{"anyOf":[{},{"type":"null"}],"title":"Default Value"},"board_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Board Ids"}},"type":"object","title":"TaskCustomFieldDefinitionUpdate","description":"Payload for editing an existing task custom field definition."},"TaskRead":{"properties":{"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"type":"string","enum":["inbox","in_progress","review","done"],"title":"Status","default":"inbox"},"priority":{"type":"string","title":"Priority","default":"medium"},"due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due At"},"assigned_agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned Agent Id"},"depends_on_task_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Depends On Task Ids"},"tag_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Tag Ids"},"id":{"type":"string","format":"uuid","title":"Id"},"board_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Board Id"},"created_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By User Id"},"in_progress_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"In Progress At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"blocked_by_task_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Blocked By Task Ids"},"is_blocked":{"type":"boolean","title":"Is Blocked","default":false},"tags":{"items":{"$ref":"#/components/schemas/TagRef"},"type":"array","title":"Tags"},"custom_field_values":{"anyOf":[{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"type":"object"},{"type":"null"}],"title":"Custom Field Values"}},"type":"object","required":["title","id","board_id","created_by_user_id","in_progress_at","created_at","updated_at"],"title":"TaskRead","description":"Task payload returned from read endpoints."},"TaskUpdate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"anyOf":[{"type":"string","enum":["inbox","in_progress","review","done"]},{"type":"null"}],"title":"Status"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"},"due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due At"},"assigned_agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned Agent Id"},"depends_on_task_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Depends On Task Ids"},"tag_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Tag Ids"},"custom_field_values":{"anyOf":[{"additionalProperties":{"anyOf":[{},{"type":"null"}]},"type":"object"},{"type":"null"}],"title":"Custom Field Values"},"comment":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Comment"}},"type":"object","title":"TaskUpdate","description":"Payload for partial task updates."},"UserRead":{"properties":{"clerk_user_id":{"type":"string","title":"Clerk User Id","description":"External auth provider user identifier (Clerk).","examples":["user_2abcXYZ"]},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"Primary email address for the user.","examples":["alex@example.com"]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Full display name.","examples":["Alex Chen"]},"preferred_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Name","description":"Preferred short name used in UI.","examples":["Alex"]},"pronouns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pronouns","description":"Preferred pronouns.","examples":["they/them"]},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone","description":"IANA timezone identifier.","examples":["America/Los_Angeles"]},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes","description":"Internal notes for operators.","examples":["Primary operator for board triage."]},"context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context","description":"Additional context used by the system for personalization.","examples":["Handles incident coordination and escalation."]},"id":{"type":"string","format":"uuid","title":"Id","description":"Internal user UUID.","examples":["11111111-1111-1111-1111-111111111111"]},"is_super_admin":{"type":"boolean","title":"Is Super Admin","description":"Whether this user has tenant-wide super-admin privileges.","examples":[false]}},"type":"object","required":["clerk_user_id","id","is_super_admin"],"title":"UserRead","description":"Full user payload returned by API responses."},"UserUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"preferred_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Name"},"pronouns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pronouns"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context"}},"type":"object","title":"UserUpdate","description":"Payload for partial user profile updates."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}},"tags":[{"name":"auth","description":"Authentication bootstrap endpoints for resolving caller identity and session context."},{"name":"health","description":"Service liveness/readiness probes used by infrastructure and runtime checks."},{"name":"agents","description":"Organization-level agent directory, lifecycle, and management operations."},{"name":"activity","description":"Activity feed and audit timeline endpoints across boards and operations."},{"name":"gateways","description":"Gateway management, synchronization, and runtime control operations."},{"name":"metrics","description":"Aggregated operational and board analytics metrics endpoints."},{"name":"organizations","description":"Organization profile, membership, and governance management endpoints."},{"name":"souls-directory","description":"Directory and lookup endpoints for agent soul templates and variants."},{"name":"skills","description":"Skills marketplace, install, uninstall, and synchronization endpoints."},{"name":"board-groups","description":"Board group CRUD, assignment, and grouping workflow endpoints."},{"name":"board-group-memory","description":"Shared memory endpoints scoped to board groups and grouped boards."},{"name":"boards","description":"Board lifecycle, configuration, and board-level management endpoints."},{"name":"board-memory","description":"Board-scoped memory read/write endpoints for persistent context."},{"name":"board-webhooks","description":"Board webhook registration, delivery config, and lifecycle endpoints."},{"name":"board-onboarding","description":"Board onboarding state, setup actions, and onboarding workflow endpoints."},{"name":"approvals","description":"Approval request, review, and status-tracking operations for board tasks."},{"name":"tasks","description":"Task CRUD, dependency management, and task workflow operations."},{"name":"custom-fields","description":"Organization custom-field definitions and board assignment endpoints."},{"name":"tags","description":"Tag catalog and task-tag association management endpoints."},{"name":"users","description":"User profile read/update operations and user-centric settings endpoints."},{"name":"agent","description":"Agent-scoped API surface. All endpoints require `X-Agent-Token` and are constrained by agent board access policies."},{"name":"agent-lead","description":"Lead workflows: delegation, review orchestration, approvals, and coordination actions."},{"name":"agent-worker","description":"Worker workflows: task execution, task comments, and board/group context reads/writes used during heartbeat loops."},{"name":"agent-main","description":"Gateway-main control workflows that message board leads or broadcast coordination requests."}]}