{"openapi":"3.1.0","info":{"title":"Tracecat API","summary":"Tracecat API","description":"The open source AI automation platform for security teams and agents.","termsOfService":"https://docs.google.com/document/d/e/2PACX-1vQvDe3SoVAPoQc51MgfGCP71IqFYX_rMVEde8zC4qmBCec5f8PLKQRdxa6tsUABT8gWAR9J-EVs2CrQ/pub","contact":{"name":"Tracecat Founders","email":"founders@tracecat.com"},"license":{"name":"AGPL-3.0","url":"https://www.gnu.org/licenses/agpl-3.0.html"},"version":"1"},"servers":[{"url":"/api"}],"paths":{"/webhooks/{workflow_id}/{secret}":{"post":{"tags":["public"],"summary":"Incoming Webhook Post","description":"Webhook endpoint to trigger a workflow.\n\nThis is an external facing endpoint is used to trigger a workflow by sending a webhook request.\nThe workflow is identified by the `path` parameter, which is equivalent to the workflow id.","operationId":"public-incoming_webhook_post","parameters":[{"name":"secret","in":"path","required":true,"schema":{"type":"string","title":"Secret"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}},{"name":"echo","in":"query","required":false,"schema":{"type":"boolean","description":"Echo back to the caller","default":false,"title":"Echo"},"description":"Echo back to the caller"},{"name":"empty_echo","in":"query","required":false,"schema":{"type":"boolean","description":"Return an empty response. Assumes `echo` to be `True`.","default":false,"title":"Empty Echo"},"description":"Return an empty response. Assumes `echo` to be `True`."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Vendor specific webhook verification. Supported vendors: `okta`.","title":"Vendor"},"description":"Vendor specific webhook verification. Supported vendors: `okta`."},{"name":"content-type","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content-Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["public"],"summary":"Incoming Webhook Get","description":"Webhook endpoint to trigger a workflow.\n\nThis is an external facing endpoint is used to trigger a workflow by sending a webhook request.\nThe workflow is identified by the `path` parameter, which is equivalent to the workflow id.","operationId":"public-incoming_webhook_get","parameters":[{"name":"secret","in":"path","required":true,"schema":{"type":"string","title":"Secret"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}},{"name":"echo","in":"query","required":false,"schema":{"type":"boolean","description":"Echo back to the caller","default":false,"title":"Echo"},"description":"Echo back to the caller"},{"name":"empty_echo","in":"query","required":false,"schema":{"type":"boolean","description":"Return an empty response. Assumes `echo` to be `True`.","default":false,"title":"Empty Echo"},"description":"Return an empty response. Assumes `echo` to be `True`."},{"name":"vendor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Vendor specific webhook verification. Supported vendors: `okta`.","title":"Vendor"},"description":"Vendor specific webhook verification. Supported vendors: `okta`."},{"name":"content-type","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content-Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhooks/{workflow_id}/{secret}/wait":{"post":{"tags":["public"],"summary":"Incoming Webhook Wait","description":"Webhook endpoint to trigger a workflow.\n\nThis is an external facing endpoint is used to trigger a workflow by sending a webhook request.\nThe workflow is identified by the `path` parameter, which is equivalent to the workflow id.","operationId":"public-incoming_webhook_wait","parameters":[{"name":"secret","in":"path","required":true,"schema":{"type":"string","title":"Secret"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}},{"name":"unwrap","in":"query","required":false,"schema":{"type":"boolean","description":"Return the workflow result directly as the response body, without the `{kind, value}` envelope. Requires the result to fit inline. If the result was externalized, returns 413 with the download envelope in `detail`.","default":false,"title":"Unwrap"},"description":"Return the workflow result directly as the response body, without the `{kind, value}` envelope. Requires the result to fit inline. If the result was externalized, returns 413 with the download envelope in `detail`."},{"name":"content-type","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content-Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WaitResultOutput"}}}},"413":{"description":"Unwrapped workflow result exceeded inline response limits. Use `detail.download_url` to fetch the externalized result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WaitResultUnwrapOverflowResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhooks/{workflow_id}/{secret}/draft":{"post":{"tags":["public"],"summary":"Incoming Webhook Draft","description":"Draft webhook endpoint to trigger a workflow execution using the draft workflow graph.\n\nThis endpoint runs the current (uncommitted) workflow graph rather than the committed definition.\nChild workflows using aliases will resolve to the latest draft aliases, not committed aliases.","operationId":"public-incoming_webhook_draft","parameters":[{"name":"secret","in":"path","required":true,"schema":{"type":"string","title":"Secret"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}},{"name":"content-type","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content-Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhooks/{workflow_id}/{secret}/interactions/{category}":{"post":{"tags":["public"],"summary":"Receive Interaction","description":"Process incoming workflow interactions from external services.\n\nArgs:\n    workflow_id: ID of the workflow to interact with\n    payload: Raw interaction payload from the external service\n    category: Category of interaction (e.g., slack)\n\nReturns:\n    Response confirming the interaction was processed\n\nRaises:\n    HTTPException: If payload is invalid or workflow interaction fails","operationId":"public-receive_interaction","parameters":[{"name":"category","in":"path","required":true,"schema":{"$ref":"#/components/schemas/InteractionCategory"}},{"name":"secret","in":"path","required":true,"schema":{"type":"string","title":"Secret"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}},{"name":"content-type","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content-Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiveInteractionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/channels/{channel_type}/{token}":{"post":{"tags":["public"],"summary":"Handle Channel Event","description":"Receive public external channel events.","operationId":"public-handle_channel_event","parameters":[{"name":"channel_type","in":"path","required":true,"schema":{"$ref":"#/components/schemas/ChannelType"}},{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/channels/slack/oauth/callback":{"get":{"tags":["public"],"summary":"Handle Slack Oauth Callback","operationId":"public-handle_slack_oauth_callback","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},{"name":"error_description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Description"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces":{"get":{"tags":["workspaces"],"summary":"List Workspaces","description":"List workspaces the user has access to.\n\nAccess\n------\n- Org owners/admins (have `org:workspace:read` scope): See all workspaces in the org.\n- Org members (have `org:read` scope): See only workspaces where they are a member.\n- Workspace-bound service accounts: See only their bound workspace.\n\nMembership limits workspace-scoped access to the actor's workspaces.","operationId":"workspaces-list_workspaces","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WorkspaceReadMinimal"},"type":"array","title":"Response Workspaces-List Workspaces"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]},"post":{"tags":["workspaces"],"summary":"Create Workspace","description":"Create a new workspace.\n\nAuthorization\n-------------\n- Admin: Can create a workspace for any user.","operationId":"workspaces-create_workspace","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceReadMinimal"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]}},"/workspaces/search":{"get":{"tags":["workspaces"],"summary":"Search Workspaces","description":"Return Workflow as title, description, list of Action JSONs, adjacency list of Action IDs.","operationId":"workspaces-search_workspaces","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceReadMinimal"},"title":"Response Workspaces-Search Workspaces"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}":{"get":{"tags":["workspaces"],"summary":"Get Workspace","description":"Return Workflow as title, description, list of Action JSONs, adjacency list of Action IDs.","operationId":"workspaces-get_workspace","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["workspaces"],"summary":"Update Workspace","description":"Update a workspace.","operationId":"workspaces-update_workspace","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["workspaces"],"summary":"Delete Workspace","description":"Delete a workspace.","operationId":"workspaces-delete_workspace","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/members":{"get":{"tags":["workspaces"],"summary":"List Workspace Members","description":"List members of a workspace.","operationId":"workspaces-list_workspace_members","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceMember"},"title":"Response Workspaces-List Workspace Members"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/memberships":{"get":{"tags":["workspaces"],"summary":"List Workspace Memberships","description":"List memberships of a workspace.","operationId":"workspaces-list_workspace_memberships","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceMembershipRead"},"title":"Response Workspaces-List Workspace Memberships"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["workspaces"],"summary":"Create Workspace Membership","description":"Create a workspace membership for a user.","operationId":"workspaces-create_workspace_membership","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceMembershipCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/memberships/{user_id}":{"get":{"tags":["workspaces"],"summary":"Get Workspace Membership","description":"Get a workspace membership for a user.","operationId":"workspaces-get_workspace_membership","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceMembershipRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["workspaces"],"summary":"Delete Workspace Membership","description":"Delete a workspace membership.","operationId":"workspaces-delete_workspace_membership","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/invitations":{"post":{"tags":["workspaces"],"summary":"Create Workspace Invitation","description":"Create a workspace invitation.\n\nAuthorization\n-------------\n- Workspace Admin: Can create invitations for their workspace.","operationId":"workspaces-create_workspace_invitation","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceInvitationCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceInvitationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["workspaces"],"summary":"List Workspace Invitations","description":"List workspace invitations.\n\nAuthorization\n-------------\n- Workspace Admin: Can list invitations for their workspace.","operationId":"workspaces-list_workspace_invitations","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/InvitationStatus"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceInvitationRead"},"title":"Response Workspaces-List Workspace Invitations"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/invitations/{invitation_id}":{"delete":{"tags":["workspaces"],"summary":"Revoke Workspace Invitation","description":"Revoke a workspace invitation.\n\nAuthorization\n-------------\n- Workspace Admin: Can revoke invitations for their workspace.","operationId":"workspaces-revoke_workspace_invitation","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invitation Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/service-accounts":{"get":{"tags":["service_accounts"],"summary":"List Workspace Service Accounts","operationId":"service_accounts-list_workspace_service_accounts","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_ServiceAccountRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["service_accounts"],"summary":"Create Workspace Service Account","operationId":"service_accounts-create_workspace_service_account","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountApiKeyIssueResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/service-accounts/scopes":{"get":{"tags":["service_accounts"],"summary":"List Workspace Service Account Scopes","operationId":"service_accounts-list_workspace_service_account_scopes","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountScopeList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/service-accounts/{service_account_id}":{"get":{"tags":["service_accounts"],"summary":"Get Workspace Service Account","operationId":"service_accounts-get_workspace_service_account","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["service_accounts"],"summary":"Update Workspace Service Account","operationId":"service_accounts-update_workspace_service_account","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/service-accounts/{service_account_id}/api-keys":{"get":{"tags":["service_accounts"],"summary":"List Workspace Service Account Api Keys","operationId":"service_accounts-list_workspace_service_account_api_keys","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_ServiceAccountApiKeyRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["service_accounts"],"summary":"Create Workspace Service Account Api Key","operationId":"service_accounts-create_workspace_service_account_api_key","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountApiKeyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountApiKeyIssueResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/service-accounts/{service_account_id}/disable":{"post":{"tags":["service_accounts"],"summary":"Disable Workspace Service Account","operationId":"service_accounts-disable_workspace_service_account","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/service-accounts/{service_account_id}/enable":{"post":{"tags":["service_accounts"],"summary":"Enable Workspace Service Account","operationId":"service_accounts-enable_workspace_service_account","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/service-accounts/{service_account_id}/api-keys/{api_key_id}/revoke":{"post":{"tags":["service_accounts"],"summary":"Revoke Workspace Service Account Api Key","operationId":"service_accounts-revoke_workspace_service_account_api_key","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}},{"name":"api_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Api Key Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/mcp-personal-access-tokens":{"get":{"tags":["mcp_personal_access_tokens"],"summary":"List Mcp Personal Access Tokens","operationId":"mcp_personal_access_tokens-list_mcp_personal_access_tokens","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_MCPPersonalAccessTokenRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["mcp_personal_access_tokens"],"summary":"Create Mcp Personal Access Token","operationId":"mcp_personal_access_tokens-create_mcp_personal_access_token","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPPersonalAccessTokenCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPPersonalAccessTokenIssueResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/mcp-personal-access-tokens/{token_id}/revoke":{"post":{"tags":["mcp_personal_access_tokens"],"summary":"Revoke Mcp Personal Access Token","operationId":"mcp_personal_access_tokens-revoke_mcp_personal_access_token","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Token Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows":{"get":{"tags":["workflows"],"summary":"List Workflows","description":"List workflows.","operationId":"workflows-list_workflows","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"tag","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter workflows by tags","title":"Tag"},"description":"Filter workflows by tags"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":0,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_WorkflowReadMinimal_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["workflows"],"summary":"Create Workflow","description":"Create a new Workflow.\n\nOptionally, you can provide a YAML file to create a workflow.\nYou can also provide a title and description to create a blank workflow.","operationId":"workflows-create_workflow","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_workflows-create_workflow"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowReadMinimal"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/validate-entrypoint":{"post":{"tags":["workflows"],"summary":"Validate Workflow Entrypoint","description":"Validate a workflow entrypoint expects definition.","operationId":"workflows-validate_workflow_entrypoint","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowEntrypointValidationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowEntrypointValidationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}":{"get":{"tags":["workflows"],"summary":"Get Workflow","description":"Return Workflow as title, description, list of Action JSONs, adjacency list of Action IDs.","operationId":"workflows-get_workflow","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["workflows"],"summary":"Update Workflow","description":"Update a workflow.","operationId":"workflows-update_workflow","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["workflows"],"summary":"Delete Workflow","description":"Delete a workflow.","operationId":"workflows-delete_workflow","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/commit":{"post":{"tags":["workflows"],"summary":"Commit Workflow","description":"Commit a workflow.\n\nThis deploys the workflow and updates its version, delegating to the shared\n``WorkflowsManagementService.publish_workflow`` so the build/validate/lock/\ncommit orchestration lives in one place (also used by the MCP publish tool\nand the internal publish route).","operationId":"workflows-commit_workflow","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowCommitResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/export":{"get":{"tags":["workflows"],"summary":"Export Workflow","description":"Export a workflow's current state and optionally its definitions and logs.\n\nSupported formats are JSON and YAML.\n\nWhen `draft=True`, exports the current draft state from the workflow canvas\nwithout requiring a saved definition. When `draft=False` (default), exports\nfrom a saved workflow definition version.","operationId":"workflows-export_workflow","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}},{"name":"format","in":"query","required":false,"schema":{"enum":["json","yaml"],"type":"string","description":"Export format: 'json' or 'yaml'","default":"json","title":"Format"},"description":"Export format: 'json' or 'yaml'"},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Workflow definition version. If not provided, the latest version is exported.","title":"Version"},"description":"Workflow definition version. If not provided, the latest version is exported."},{"name":"draft","in":"query","required":false,"schema":{"type":"boolean","description":"Export current draft state instead of saved definition.","default":false,"title":"Draft"},"description":"Export current draft state instead of saved definition."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/definitions":{"get":{"tags":["workflows"],"summary":"List Workflow Definitions","description":"List all workflow definitions for a Workflow.","operationId":"workflows-list_workflow_definitions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowDefinitionRead"},"title":"Response Workflows-List Workflow Definitions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/definitions/{version}/restore":{"post":{"tags":["workflows"],"summary":"Restore Workflow Definition","description":"Restore a saved workflow definition as the current published version.","operationId":"workflows-restore_workflow_definition","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"version","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Version"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/definition":{"get":{"tags":["workflows"],"summary":"Get Workflow Definition","description":"Get the latest version of a workflow definition.","operationId":"workflows-get_workflow_definition","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Version"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowDefinitionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["workflows"],"summary":"Create Workflow Definition","description":"Get the latest version of a workflow definition.","operationId":"workflows-create_workflow_definition","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowDefinitionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/webhook":{"post":{"tags":["triggers"],"summary":"Create Webhook","description":"Create a webhook for a workflow.","operationId":"triggers-create_webhook","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["triggers"],"summary":"Get Webhook","description":"Get the webhook from a workflow.","operationId":"triggers-get_webhook","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["triggers"],"summary":"Update Webhook","description":"Update the webhook for a workflow. We currently supprt only one webhook per workflow.","operationId":"triggers-update_webhook","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/case-trigger":{"post":{"tags":["triggers"],"summary":"Create Case Trigger","description":"Create or replace the case trigger configuration for a workflow.","operationId":"triggers-create_case_trigger","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTriggerCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTriggerRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["triggers"],"summary":"Get Case Trigger","description":"Get the case trigger configuration for a workflow.","operationId":"triggers-get_case_trigger","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTriggerRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["triggers"],"summary":"Update Case Trigger","description":"Update the case trigger configuration for a workflow.","operationId":"triggers-update_case_trigger","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTriggerUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/webhook/api-key":{"post":{"tags":["triggers"],"summary":"Generate Webhook Api Key","description":"Create or rotate the API key for a webhook.","operationId":"triggers-generate_webhook_api_key","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookApiKeyGenerateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["triggers"],"summary":"Delete Webhook Api Key","description":"Delete the current API key for a webhook.","operationId":"triggers-delete_webhook_api_key","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/webhook/api-key/revoke":{"post":{"tags":["triggers"],"summary":"Revoke Webhook Api Key","description":"Revoke the current API key for a webhook.","operationId":"triggers-revoke_webhook_api_key","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/move":{"post":{"tags":["workflows"],"summary":"Move Workflow To Folder","description":"Move a workflow to a different folder.\n\nIf folder_id is null, the workflow will be moved to the root (no folder).","operationId":"workflows-move_workflow_to_folder","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowMoveToFolder"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/executions/{execution_id}":{"get":{"tags":["workflow-executions"],"summary":"Get Workflow Execution By Workflow Id","description":"Get a workflow execution by workflow ID and execution suffix.","operationId":"workflow-executions-get_workflow_execution_by_workflow_id","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","pattern":"(exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*)","title":"Execution Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/graph":{"get":{"tags":["graph"],"summary":"Get Graph","description":"Get the canonical graph projection for a workflow.\n\nReturns the graph built from Actions (single source of truth),\nnot from Workflow.object.","operationId":"graph-get_graph","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["graph"],"summary":"Apply Graph Operations","description":"Apply graph operations with optimistic concurrency.\n\nValidates base_version matches current graph_version.\nReturns 409 Conflict with latest graph if versions mismatch.","operationId":"graph-apply_graph_operations","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphOperationsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GraphResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions":{"get":{"tags":["workflow-executions"],"summary":"List Workflow Executions","description":"List all workflow executions.","operationId":"workflow-executions-list_workflow_executions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"trigger","in":"query","required":false,"schema":{"anyOf":[{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/TriggerType"}},{"type":"null"}],"title":"Trigger"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":1000,"minimum":1},{"type":"null"}],"title":"Limit"}},{"name":"workflow_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"},{"type":"null"}],"title":"Workflow Id"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"$ref":"#/components/schemas/SpecialUserID"},{"type":"null"}],"title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowExecutionReadMinimal"},"title":"Response Workflow-Executions-List Workflow Executions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["workflow-executions"],"summary":"Create Workflow Execution","description":"Create and schedule a workflow execution.","operationId":"workflow-executions-create_workflow_execution","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions/search":{"get":{"tags":["workflow-executions"],"summary":"Search Workflow Executions","operationId":"workflow-executions-search_workflow_executions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"trigger","in":"query","required":false,"schema":{"anyOf":[{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/TriggerType"}},{"type":"null"}],"title":"Trigger"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","uniqueItems":true,"items":{"enum":["RUNNING","COMPLETED","FAILED","CANCELED","TERMINATED","CONTINUED_AS_NEW","TIMED_OUT"],"type":"string"}},{"type":"null"}],"title":"Status"}},{"name":"status_mode","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WorkflowExecutionStatusFilterMode","default":"include"}},{"name":"start_time_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Time From"}},{"name":"start_time_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Time To"}},{"name":"close_time_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Close Time From"}},{"name":"close_time_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Close Time To"}},{"name":"duration_gte_seconds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Duration Gte Seconds"}},{"name":"duration_lte_seconds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Duration Lte Seconds"}},{"name":"search_term","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by workflow title or alias.","title":"Search Term"},"description":"Filter by workflow title or alias."},{"name":"relation","in":"query","required":false,"schema":{"$ref":"#/components/schemas/WorkflowExecutionRelationFilter","default":"all"}},{"name":"workflow_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"},{"type":"null"}],"title":"Workflow Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"$ref":"#/components/schemas/SpecialUserID"},{"type":"null"}],"title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_WorkflowRunReadMinimal_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions/{execution_id}/reset-points":{"get":{"tags":["workflow-executions"],"summary":"List Workflow Execution Reset Points","operationId":"workflow-executions-list_workflow_execution_reset_points","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowExecutionResetPointRead"},"title":"Response Workflow-Executions-List Workflow Execution Reset Points"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions/{execution_id}/reset":{"post":{"tags":["workflow-executions"],"summary":"Reset Workflow Execution","operationId":"workflow-executions-reset_workflow_execution","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionResetRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionResetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions/reset/bulk":{"post":{"tags":["workflow-executions"],"summary":"Bulk Reset Workflow Executions","operationId":"workflow-executions-bulk_reset_workflow_executions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionBulkResetRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionBulkResetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions/{execution_id}":{"get":{"tags":["workflow-executions"],"summary":"Get Workflow Execution","description":"Get a workflow execution.","operationId":"workflow-executions-get_workflow_execution","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions/{execution_id}/compact":{"get":{"tags":["workflow-executions"],"summary":"Get Workflow Execution Compact","description":"Get a workflow execution.","operationId":"workflow-executions-get_workflow_execution_compact","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionReadCompact_Any_Union_AgentOutput__Any__Any_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions/{execution_id}/objects/download":{"post":{"tags":["workflow-executions"],"summary":"Get Workflow Execution Object Download","description":"Generate a presigned download URL for a workflow execution result object.","operationId":"workflow-executions-get_workflow_execution_object_download","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionObjectRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionObjectDownloadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions/{execution_id}/objects/preview":{"post":{"tags":["workflow-executions"],"summary":"Get Workflow Execution Object Preview","description":"Fetch a bounded text preview for a workflow execution result object.","operationId":"workflow-executions-get_workflow_execution_object_preview","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionObjectRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionObjectPreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions/{execution_id}/objects/collection/page":{"post":{"tags":["workflow-executions"],"summary":"Get Workflow Execution Collection Page","description":"Fetch a bounded page of collection item descriptors.","operationId":"workflow-executions-get_workflow_execution_collection_page","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionCollectionPageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionCollectionPageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions/draft":{"post":{"tags":["workflow-executions"],"summary":"Create Draft Workflow Execution","description":"Create and schedule a draft workflow execution.\n\nDraft executions run the current draft workflow graph (not the committed definition).\nChild workflows using aliases will resolve to the latest draft aliases, not committed aliases.","operationId":"workflow-executions-create_draft_workflow_execution","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions/{execution_id}/cancel":{"post":{"tags":["workflow-executions"],"summary":"Cancel Workflow Execution","description":"Get a workflow execution.","operationId":"workflow-executions-cancel_workflow_execution","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflow-executions/{execution_id}/terminate":{"post":{"tags":["workflow-executions"],"summary":"Terminate Workflow Execution","description":"Get a workflow execution.","operationId":"workflow-executions-terminate_workflow_execution","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowExecutionTerminate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/actions/batch-positions":{"post":{"tags":["actions"],"summary":"Batch Update Positions","description":"Batch update action and trigger positions.\n\nThis endpoint updates all positions in a single transaction for atomicity,\npreventing race conditions from concurrent position updates.","operationId":"actions-batch_update_positions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"query","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchPositionUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/actions":{"get":{"tags":["actions"],"summary":"List Actions","description":"List all actions for a workflow.","operationId":"actions-list_actions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"query","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ActionReadMinimal"},"title":"Response Actions-List Actions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["actions"],"summary":"Create Action","description":"Create a new action for a workflow.","operationId":"actions-create_action","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionReadMinimal"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/actions/{action_id}":{"get":{"tags":["actions"],"summary":"Get Action","description":"Get an action.","operationId":"actions-get_action","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"action_id","in":"path","required":true,"schema":{"type":"string","title":"Action Id"}},{"name":"workflow_id","in":"query","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["actions"],"summary":"Update Action","description":"Update an action.","operationId":"actions-update_action","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"action_id","in":"path","required":true,"schema":{"type":"string","title":"Action Id"}},{"name":"workflow_id","in":"query","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["actions"],"summary":"Delete Action","description":"Delete an action.","operationId":"actions-delete_action","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"action_id","in":"path","required":true,"schema":{"type":"string","title":"Action Id"}},{"name":"workflow_id","in":"query","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/tags":{"get":{"tags":["workflows"],"summary":"List Tags","description":"List all tags for a workflow.","operationId":"workflows-list_tags","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagRead"},"title":"Response Workflows-List Tags"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["workflows"],"summary":"Add Tag","description":"Add a tag to a workflow.","operationId":"workflows-add_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTagCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/tags/{tag_id}":{"delete":{"tags":["workflows"],"summary":"Remove Tag","operationId":"workflows-remove_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Tag Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/{workflow_id}/publish":{"post":{"tags":["workflows"],"summary":"Publish Workflow","operationId":"workflows-publish_workflow","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowDslPublish"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowDslPublishResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/sync/repositories":{"get":{"tags":["workflows"],"summary":"List Workflow Repositories","description":"List repositories granted to the configured GitHub App installation.","operationId":"workflows-list_workflow_repositories","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GitHubAppRepository"},"title":"Response Workflows-List Workflow Repositories"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/sync/commits":{"get":{"tags":["workflows"],"summary":"List Workflow Commits","description":"Get commit list for the configured workspace repository.\n\nReturns a list of commits from the repository configured in workspace settings,\nsuitable for use in workflow pull operations.","operationId":"workflows-list_workflow_commits","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"branch","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":255,"description":"Branch name to fetch commits from","default":"main","title":"Branch"},"description":"Branch name to fetch commits from"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Maximum number of commits to return","default":10,"title":"Limit"},"description":"Maximum number of commits to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GitCommitInfo"},"title":"Response Workflows-List Workflow Commits"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/sync/branches":{"get":{"tags":["workflows"],"summary":"List Workflow Branches","description":"Get branch list for the configured workspace repository.","operationId":"workflows-list_workflow_branches","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Maximum number of branches to return","default":10,"title":"Limit"},"description":"Maximum number of branches to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GitBranchInfo"},"title":"Response Workflows-List Workflow Branches"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/sync/export":{"post":{"tags":["workflows"],"summary":"Export Workspace Sync","description":"Export workspace workflow specs to a Git branch and optional PR.","operationId":"workflows-export_workspace_sync","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceSyncExportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceSyncExportResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/sync/export/preview":{"post":{"tags":["workflows"],"summary":"Preview Export Workspace Sync","description":"Project which resources an export would commit, without writing to Git.","operationId":"workflows-preview_export_workspace_sync","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceSyncExportPreviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceSyncExportPreview"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/workflows/sync/pull":{"post":{"tags":["workflows"],"summary":"Pull Workflows","description":"Pull workflows from Git repository at specific commit.\n\nImports workflow definitions from the specified repository and commit,\nwith configurable conflict resolution strategy. Repository URL is retrieved\nfrom workspace settings.","operationId":"workflows-pull_workflows","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowSyncPullRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PullResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/secrets/search":{"get":{"tags":["secrets"],"summary":"Search Secrets","description":"Search secrets.","operationId":"secrets-search_secrets","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"environment","in":"query","required":true,"schema":{"type":"string","title":"Environment"}},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"array","uniqueItems":true,"items":{"type":"string"}},{"type":"null"}],"description":"Filter by secret name","title":"Name"},"description":"Filter by secret name"},{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","uniqueItems":true,"items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by secret ID","title":"Id"},"description":"Filter by secret ID"},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/SecretType"}},{"type":"null"}],"description":"Filter by secret type","title":"Type"},"description":"Filter by secret type"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SecretRead"},"title":"Response Secrets-Search Secrets"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/secrets":{"get":{"tags":["secrets"],"summary":"List Secrets","description":"List user secrets.","operationId":"secrets-list_secrets","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/SecretType"}},{"type":"null"}],"description":"Filter by secret type","title":"Type"},"description":"Filter by secret type"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SecretReadMinimal"},"title":"Response Secrets-List Secrets"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["secrets"],"summary":"Create Secret","description":"Create a secret.","operationId":"secrets-create_secret","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/secrets/definitions":{"get":{"tags":["secrets"],"summary":"List Secret Definitions","description":"List aggregated secret definitions from the registry.","operationId":"secrets-list_secret_definitions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SecretDefinition"},"title":"Response Secrets-List Secret Definitions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/secrets/aws-assume-role":{"get":{"tags":["secrets"],"summary":"Get Aws Assume Role Access","description":"Get workspace-scoped AWS AssumeRole details for credential setup.","operationId":"secrets-get_aws_assume_role_access","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwsAssumeRoleAccessRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/secrets/{secret_name}":{"get":{"tags":["secrets"],"summary":"Get Secret By Name","description":"Get a secret.","operationId":"secrets-get_secret_by_name","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"secret_name","in":"path","required":true,"schema":{"type":"string","title":"Secret Name"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/secrets/{secret_id}":{"post":{"tags":["secrets"],"summary":"Update Secret By Id","description":"Update a secret by ID.","operationId":"secrets-update_secret_by_id","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"secret_id","in":"path","required":true,"schema":{"type":"string","title":"Secret Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["secrets"],"summary":"Delete Secret By Id","description":"Delete a secret by ID.","operationId":"secrets-delete_secret_by_id","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"secret_id","in":"path","required":true,"schema":{"type":"string","title":"Secret Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/variables/search":{"get":{"tags":["variables"],"summary":"Search Variables","operationId":"variables-search_variables","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"environment","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Environment"}},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"array","uniqueItems":true,"items":{"type":"string"}},{"type":"null"}],"description":"Filter by variable name","title":"Name"},"description":"Filter by variable name"},{"name":"id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","uniqueItems":true,"items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Filter by variable ID","title":"Id"},"description":"Filter by variable ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VariableRead"},"title":"Response Variables-Search Variables"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/variables":{"get":{"tags":["variables"],"summary":"List Variables","operationId":"variables-list_variables","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"environment","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Environment"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VariableReadMinimal"},"title":"Response Variables-List Variables"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["variables"],"summary":"Create Variable","operationId":"variables-create_variable","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/variables/{variable_name}":{"get":{"tags":["variables"],"summary":"Get Variable By Name","operationId":"variables-get_variable_by_name","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"variable_name","in":"path","required":true,"schema":{"type":"string","title":"Variable Name"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"environment","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Environment"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/variables/{variable_id}":{"post":{"tags":["variables"],"summary":"Update Variable By Id","operationId":"variables-update_variable_by_id","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"variable_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Variable Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["variables"],"summary":"Delete Variable By Id","operationId":"variables-delete_variable_by_id","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"variable_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Variable Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/schedules":{"get":{"tags":["schedules"],"summary":"List Schedules","operationId":"schedules-list_schedules","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"},{"type":"null"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleRead"},"title":"Response Schedules-List Schedules"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["schedules"],"summary":"Create Schedule","description":"Create a schedule for a workflow.","operationId":"schedules-create_schedule","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/schedules/{schedule_id}":{"get":{"tags":["schedules"],"summary":"Get Schedule","description":"Get a schedule from a workflow.","operationId":"schedules-get_schedule","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["schedules"],"summary":"Update Schedule","description":"Update a schedule from a workflow. You cannot update the Workflow Definition, but you can update other fields.","operationId":"schedules-update_schedule","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["schedules"],"summary":"Delete Schedule","description":"Delete a schedule from a workflow.","operationId":"schedules-delete_schedule","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/schedules/search":{"get":{"tags":["schedules"],"summary":"Search Schedules","description":"**[WORK IN PROGRESS]** Search for schedules.","operationId":"schedules-search_schedules","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleSearch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScheduleRead"},"title":"Response Schedules-Search Schedules"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tags":{"get":{"tags":["tags"],"summary":"List Tags","description":"List all tags for the current workspace.","operationId":"tags-list_tags","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagRead"},"title":"Response Tags-List Tags"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["tags"],"summary":"Create Tag","description":"Create a new tag.","operationId":"tags-create_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tags/{tag_id}":{"get":{"tags":["tags"],"summary":"Get Tag","description":"Get a specific tag by ID.","operationId":"tags-get_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["tags"],"summary":"Update Tag","description":"Update an existing tag.","operationId":"tags-update_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["tags"],"summary":"Delete Tag","description":"Delete a tag.","operationId":"tags-delete_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/search":{"get":{"tags":["users"],"summary":"Search User","description":"Search for a user by email.","operationId":"users-search_user","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"email","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization":{"get":{"tags":["organization"],"summary":"Get Organization","description":"Get the current organization.\n\nReturns basic information about the organization the authenticated user belongs to.","operationId":"organization-get_organization","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracecat__organization__schemas__OrgRead"}}}}}},"delete":{"tags":["organization"],"summary":"Delete Organization","description":"Delete the current organization.\n\nRestricted to organization owners/admins through tenant RBAC.","operationId":"organization-delete_organization","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"confirm","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Must exactly match the organization name.","title":"Confirm"},"description":"Must exactly match the organization name."}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/memberships":{"get":{"tags":["organization"],"summary":"List Current User Organization Memberships","description":"List active organizations the current user belongs to.","operationId":"organization-list_current_user_organization_memberships","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/tracecat__organization__schemas__OrgRead"},"type":"array","title":"Response Organization-List Current User Organization Memberships"}}}}},"security":[{"APIKeyCookie":[]}]}},"/organization/domains":{"get":{"tags":["organization"],"summary":"List Organization Domains","description":"List domains assigned to the current organization.","operationId":"organization-list_organization_domains","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/tracecat__organization__schemas__OrgDomainRead"},"type":"array","title":"Response Organization-List Organization Domains"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]}},"/organization/entitlements":{"get":{"tags":["organization"],"summary":"Get Organization Entitlements","description":"Get the effective entitlements for the current organization.","operationId":"organization-get_organization_entitlements","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EffectiveEntitlements"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]}},"/organization/members/me":{"get":{"tags":["organization"],"summary":"Get Current Org Member","description":"Get the current user's organization membership.\n\nReturns the organization membership details for the authenticated user,\nincluding their org role (member, admin, or owner).\n\nThis endpoint doesn't require admin access - any authenticated org member\ncan view their own membership details.","operationId":"organization-get_current_org_member","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgMemberDetail"}}}}},"security":[{"APIKeyCookie":[]}]}},"/organization/members":{"get":{"tags":["organization"],"summary":"List Org Members","operationId":"organization-list_org_members","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrgMemberRead"},"type":"array","title":"Response Organization-List Org Members"}}}}},"security":[{"APIKeyCookie":[]}]}},"/organization/members/{user_id}":{"delete":{"tags":["organization"],"summary":"Delete Org Member","operationId":"organization-delete_org_member","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["organization"],"summary":"Update Org Member","operationId":"organization-update_org_member","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgMemberDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/sessions":{"get":{"tags":["organization"],"summary":"List Sessions","operationId":"organization-list_sessions","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SessionRead"},"type":"array","title":"Response Organization-List Sessions"}}}}},"security":[{"APIKeyCookie":[]}]}},"/organization/sessions/{session_id}":{"delete":{"tags":["organization"],"summary":"Delete Session","operationId":"organization-delete_session","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/invitations":{"post":{"tags":["organization"],"summary":"Create Invitation","description":"Create an invitation to join the organization.","operationId":"organization-create_invitation","security":[{"APIKeyCookie":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgInvitationCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgInvitationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["organization"],"summary":"List Invitations","description":"List invitations for the organization.","operationId":"organization-list_invitations","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/InvitationStatus"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrgInvitationRead"},"title":"Response Organization-List Invitations"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/invitations/{invitation_id}":{"delete":{"tags":["organization"],"summary":"Revoke Invitation","description":"Revoke a pending invitation.","operationId":"organization-revoke_invitation","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invitation Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/invitations/{invitation_id}/token":{"get":{"tags":["organization"],"summary":"Get Invitation Token","description":"Get the token for a specific invitation (admin only).\n\nThis endpoint is used to generate shareable invitation links.","operationId":"organization-get_invitation_token","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Organization-Get Invitation Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/invitations/accept":{"post":{"tags":["organization"],"summary":"Accept Invitation","description":"Accept an invitation and join the organization.\n\nThis endpoint doesn't require organization context since the user\nmay not belong to any organization yet. Uses AuthenticatedUserOnly\nwhich only requires an authenticated user (role.organization_id is None).","operationId":"organization-accept_invitation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgInvitationAccept"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Organization-Accept Invitation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/organization/invitations/pending/me":{"get":{"tags":["organization"],"summary":"List My Pending Invitations","description":"List pending, unexpired invitations for the authenticated user.","operationId":"organization-list_my_pending_invitations","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrgPendingInvitationRead"},"type":"array","title":"Response Organization-List My Pending Invitations"}}}}},"security":[{"APIKeyCookie":[]}]}},"/organization/invitations/token/{token}":{"get":{"tags":["organization"],"summary":"Get Invitation By Token","description":"Get minimal invitation details by token (public endpoint for UI).\n\nReturns organization name and inviter info for the acceptance page.\nIf user is authenticated, also returns whether their email matches the invitation.","operationId":"organization-get_invitation_by_token","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgInvitationReadMinimal"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/service-accounts":{"get":{"tags":["service_accounts"],"summary":"List Organization Service Accounts","operationId":"service_accounts-list_organization_service_accounts","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_ServiceAccountRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["service_accounts"],"summary":"Create Organization Service Account","operationId":"service_accounts-create_organization_service_account","security":[{"APIKeyCookie":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountApiKeyIssueResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/service-accounts/scopes":{"get":{"tags":["service_accounts"],"summary":"List Organization Service Account Scopes","operationId":"service_accounts-list_organization_service_account_scopes","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountScopeList"}}}}},"security":[{"APIKeyCookie":[]}]}},"/organization/service-accounts/{service_account_id}":{"get":{"tags":["service_accounts"],"summary":"Get Organization Service Account","operationId":"service_accounts-get_organization_service_account","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["service_accounts"],"summary":"Update Organization Service Account","operationId":"service_accounts-update_organization_service_account","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/service-accounts/{service_account_id}/api-keys":{"get":{"tags":["service_accounts"],"summary":"List Organization Service Account Api Keys","operationId":"service_accounts-list_organization_service_account_api_keys","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_ServiceAccountApiKeyRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["service_accounts"],"summary":"Create Organization Service Account Api Key","operationId":"service_accounts-create_organization_service_account_api_key","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountApiKeyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountApiKeyIssueResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/service-accounts/{service_account_id}/disable":{"post":{"tags":["service_accounts"],"summary":"Disable Organization Service Account","operationId":"service_accounts-disable_organization_service_account","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/service-accounts/{service_account_id}/enable":{"post":{"tags":["service_accounts"],"summary":"Enable Organization Service Account","operationId":"service_accounts-enable_organization_service_account","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/service-accounts/{service_account_id}/api-keys/{api_key_id}/revoke":{"post":{"tags":["service_accounts"],"summary":"Revoke Organization Service Account Api Key","operationId":"service_accounts-revoke_organization_service_account_api_key","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"service_account_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Service Account Id"}},{"name":"api_key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Api Key Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/models":{"get":{"tags":["agent"],"summary":"List Models","description":"List all available AI models.","operationId":"agent-list_models","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"$ref":"#/components/schemas/ModelConfig"},"type":"object","title":"Response Agent-List Models"}}}}},"security":[{"APIKeyCookie":[]}]}},"/agent/providers":{"get":{"tags":["agent"],"summary":"List Providers","description":"List all available AI model providers.","operationId":"agent-list_providers","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Agent-List Providers"}}}}},"security":[{"APIKeyCookie":[]}]}},"/agent/providers/status":{"get":{"tags":["agent"],"summary":"Get Providers Status","description":"Get credential status for all providers.","operationId":"agent-get_providers_status","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Response Agent-Get Providers Status"}}}}},"security":[{"APIKeyCookie":[]}]}},"/agent/providers/configs":{"get":{"tags":["agent"],"summary":"List Provider Credential Configs","description":"List credential field configurations for all providers.","operationId":"agent-list_provider_credential_configs","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProviderCredentialConfig"},"type":"array","title":"Response Agent-List Provider Credential Configs"}}}}},"security":[{"APIKeyCookie":[]}]}},"/agent/providers/{provider}/config":{"get":{"tags":["agent"],"summary":"Get Provider Credential Config","description":"Get credential field configuration for a specific provider.","operationId":"agent-get_provider_credential_config","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCredentialConfig"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/credentials":{"post":{"tags":["agent"],"summary":"Create Provider Credentials","description":"Create or update credentials for an AI provider.","operationId":"agent-create_provider_credentials","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelCredentialCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Agent-Create Provider Credentials"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/agent/credentials/{provider}":{"put":{"tags":["agent"],"summary":"Update Provider Credentials","description":"Update existing credentials for an AI provider.","operationId":"agent-update_provider_credentials","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelCredentialUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Agent-Update Provider Credentials"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["agent"],"summary":"Delete Provider Credentials","description":"Delete credentials for an AI provider.","operationId":"agent-delete_provider_credentials","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Agent-Delete Provider Credentials"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/agent/default-model":{"get":{"tags":["agent"],"summary":"Get Default Model","description":"Get the organization's default AI model.","operationId":"agent-get_default_model","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Agent-Get Default Model"}}}}},"security":[{"APIKeyCookie":[]}]},"put":{"tags":["agent"],"summary":"Set Default Model","description":"Set the organization's default AI model by catalog id.\n\nNames aren't unique once an org enables the same ``model_name`` under\nmultiple providers (e.g. ``openai/gpt-4o`` + ``azure_openai/gpt-4o``),\nso the selection is keyed by catalog row. Rejects catalog ids that\naren't enabled for this org with a 404.","operationId":"agent-set_default_model","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultModelSelectionUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultModelSelection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/agent/default-model-selection":{"get":{"tags":["agent"],"summary":"Get Default Model Selection","description":"Get the organization's canonical default model selection.","operationId":"agent-get_default_model_selection","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DefaultModelSelection"},{"type":"null"}],"title":"Response Agent-Get Default Model Selection"}}}}},"security":[{"APIKeyCookie":[]}]},"put":{"tags":["agent"],"summary":"Set Default Model Selection","description":"Set the organization's canonical default model selection.","operationId":"agent-set_default_model_selection","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultModelSelectionUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultModelSelection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/organization/agent-catalog":{"get":{"summary":"List Catalog","description":"List catalog entries with optional filtering and pagination.","operationId":"list_catalog","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},{"name":"model_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Name"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCatalogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Catalog Entry","description":"Create an org-scoped catalog entry and auto-enable it at the org level.","operationId":"create_catalog_entry","security":[{"APIKeyCookie":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BedrockCatalogCreate"},{"$ref":"#/components/schemas/AzureOpenAICatalogCreate"},{"$ref":"#/components/schemas/AzureAICatalogCreate"},{"$ref":"#/components/schemas/VertexAICatalogCreate"}],"title":"Params"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCatalogRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/agent-catalog/{catalog_id}":{"get":{"summary":"Get Catalog Entry","description":"Get a specific catalog entry.","operationId":"get_catalog_entry","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"catalog_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Catalog Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCatalogRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"summary":"Update Catalog Entry","description":"Update metadata on an org-scoped catalog entry.","operationId":"update_catalog_entry","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"catalog_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Catalog Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BedrockCatalogUpdate"},{"$ref":"#/components/schemas/AzureOpenAICatalogUpdate"},{"$ref":"#/components/schemas/AzureAICatalogUpdate"},{"$ref":"#/components/schemas/VertexAICatalogUpdate"}],"title":"Params"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCatalogRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Catalog Entry","description":"Delete an org-scoped catalog entry.","operationId":"delete_catalog_entry","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"catalog_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Catalog Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent-models":{"get":{"summary":"Get Workspace Models","description":"Get models accessible to a workspace.\n\nReturns the full effective set; the list is bounded by org enablement\nand is expected to be small, so pagination is not used here.","operationId":"get_workspace_models","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCatalogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/agent-model-access":{"post":{"summary":"Enable Model","description":"Enable a model for org or workspace.","operationId":"enable_model","security":[{"APIKeyCookie":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentModelAccessCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentModelAccessRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Enabled Models","description":"List enabled models with pagination.","operationId":"list_enabled_models","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentModelAccessListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/agent-model-access/{access_id}":{"delete":{"summary":"Disable Model","description":"Disable a model.","operationId":"disable_model","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"access_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Access Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/agent-custom-providers":{"post":{"summary":"Create Custom Provider","description":"Create a new custom LLM provider.","operationId":"create_custom_provider","security":[{"APIKeyCookie":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCustomProviderCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCustomProviderRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Custom Providers","description":"List organization custom providers with pagination.","operationId":"list_custom_providers","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCustomProviderListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/agent-custom-providers/{provider_id}":{"get":{"summary":"Get Custom Provider","description":"Get a specific custom provider.","operationId":"get_custom_provider","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Provider Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCustomProviderRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"summary":"Update Custom Provider","description":"Update custom provider configuration.","operationId":"update_custom_provider","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Provider Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCustomProviderUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCustomProviderRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Custom Provider","description":"Delete a custom provider.","operationId":"delete_custom_provider","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Provider Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/agent-custom-providers/{provider_id}/refresh":{"post":{"summary":"Refresh Custom Provider Catalog","description":"Trigger model discovery for a custom provider.","operationId":"refresh_custom_provider_catalog","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Provider Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/agent-custom-providers/validate":{"post":{"summary":"Validate Custom Provider Connection","description":"Test provider connectivity without saving.","operationId":"validate_custom_provider_connection","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCustomProviderCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Response Validate Custom Provider Connection"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/workspaces/{workspace_id}/agent/workspace/providers/status":{"get":{"tags":["agent"],"summary":"Get Workspace Providers Status","description":"Get workspace credential status for all providers.","operationId":"agent-get_workspace_providers_status","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Agent-Get Workspace Providers Status"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/channels/tokens":{"post":{"tags":["agent-channels"],"summary":"Create Channel Token","operationId":"agent-channels-create_channel_token","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentChannelTokenCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentChannelTokenRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["agent-channels"],"summary":"List Channel Tokens","operationId":"agent-channels-list_channel_tokens","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"agent_preset_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by agent preset","title":"Agent Preset Id"},"description":"Filter by agent preset"},{"name":"channel_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ChannelType"},{"type":"null"}],"description":"Filter by channel type","title":"Channel Type"},"description":"Filter by channel type"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentChannelTokenRead"},"title":"Response Agent-Channels-List Channel Tokens"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/channels/tokens/{token_id}":{"patch":{"tags":["agent-channels"],"summary":"Update Channel Token","operationId":"agent-channels-update_channel_token","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Token Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentChannelTokenUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentChannelTokenRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["agent-channels"],"summary":"Delete Channel Token","operationId":"agent-channels-delete_channel_token","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Token Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/channels/tokens/{token_id}/rotate":{"post":{"tags":["agent-channels"],"summary":"Rotate Channel Token","operationId":"agent-channels-rotate_channel_token","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Token Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentChannelTokenRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/channels/tokens/slack/oauth/start":{"post":{"tags":["agent-channels"],"summary":"Start Slack Oauth","operationId":"agent-channels-start_slack_oauth","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackOAuthStartRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackOAuthStartResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/presets":{"get":{"tags":["agent-presets"],"summary":"List Agent Presets","description":"List all agent presets for the current workspace.","operationId":"agent-presets-list_agent_presets","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentPresetReadMinimal"},"title":"Response Agent-Presets-List Agent Presets"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["agent-presets"],"summary":"Create Agent Preset","description":"Create a new agent preset.","operationId":"agent-presets-create_agent_preset","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPresetCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPresetRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/presets/{preset_id}":{"get":{"tags":["agent-presets"],"summary":"Get Agent Preset","description":"Retrieve an agent preset by ID.","operationId":"agent-presets-get_agent_preset","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"preset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Preset Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPresetRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["agent-presets"],"summary":"Update Agent Preset","description":"Update an existing agent preset.","operationId":"agent-presets-update_agent_preset","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"preset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Preset Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPresetUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPresetRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["agent-presets"],"summary":"Delete Agent Preset","description":"Delete an agent preset.","operationId":"agent-presets-delete_agent_preset","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"preset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Preset Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/presets/by-slug/{slug}":{"get":{"tags":["agent-presets"],"summary":"Get Agent Preset By Slug","description":"Retrieve an agent preset by slug.","operationId":"agent-presets-get_agent_preset_by_slug","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPresetRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/presets/{preset_id}/versions":{"get":{"tags":["agent-presets"],"summary":"List Agent Preset Versions","description":"List immutable versions for an agent preset.","operationId":"agent-presets-list_agent_preset_versions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"preset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Preset Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_AgentPresetVersionReadMinimal_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/presets/{preset_id}/versions/{version_id}":{"get":{"tags":["agent-presets"],"summary":"Get Agent Preset Version","description":"Retrieve an immutable agent preset version.","operationId":"agent-presets-get_agent_preset_version","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"preset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Preset Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPresetVersionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/presets/{preset_id}/versions/{version_id}/compare":{"get":{"tags":["agent-presets"],"summary":"Compare Agent Preset Versions","description":"Compare two preset versions belonging to the same preset.","operationId":"agent-presets-compare_agent_preset_versions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"preset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Preset Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"compare_to","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Version ID to compare against","title":"Compare To"},"description":"Version ID to compare against"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPresetVersionDiff"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/presets/{preset_id}/versions/{version_id}/restore":{"post":{"tags":["agent-presets"],"summary":"Restore Agent Preset Version","description":"Restore a historical preset version as current.","operationId":"agent-presets-restore_agent_preset_version","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"preset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Preset Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPresetRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/presets/{preset_id}/move":{"post":{"tags":["agent-presets","agent-presets"],"summary":"Move Agent Preset To Folder","description":"Move an agent preset to a folder.","operationId":"agent-presets-move_agent_preset_to_folder","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"preset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Preset Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPresetMoveToFolder"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/presets/{preset_id}/tags":{"get":{"tags":["agent-presets"],"summary":"List Preset Tags","description":"List all tags for an agent preset.","operationId":"agent-presets-list_preset_tags","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"preset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Preset Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_AgentTagRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["agent-presets"],"summary":"Add Preset Tag","description":"Add a tag to an agent preset.","operationId":"agent-presets-add_preset_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"preset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Preset Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentPresetTagCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/presets/{preset_id}/tags/{tag_id}":{"delete":{"tags":["agent-presets"],"summary":"Remove Preset Tag","description":"Remove a tag from an agent preset.","operationId":"agent-presets-remove_preset_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"preset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Preset Id"}},{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Tag Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent-folders/directory":{"get":{"tags":["agent-folders"],"summary":"Get Directory","description":"Get directory items (presets and folders) in the given path.","operationId":"agent-folders-get_directory","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"path","in":"query","required":false,"schema":{"type":"string","description":"Folder path","default":"/","title":"Path"},"description":"Folder path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/AgentPresetDirectoryItem"},{"$ref":"#/components/schemas/AgentFolderDirectoryItem"}],"discriminator":{"propertyName":"type","mapping":{"preset":"#/components/schemas/AgentPresetDirectoryItem","folder":"#/components/schemas/AgentFolderDirectoryItem"}}},"title":"Response Agent-Folders-Get Directory"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent-folders":{"get":{"tags":["agent-folders"],"summary":"List Folders","description":"List folders under the specified parent path.","operationId":"agent-folders-list_folders","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"parent_path","in":"query","required":false,"schema":{"type":"string","description":"Parent folder path","default":"/","title":"Parent Path"},"description":"Parent folder path"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_AgentFolderRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["agent-folders"],"summary":"Create Folder","description":"Create a new agent folder.","operationId":"agent-folders-create_folder","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentFolderCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentFolderRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent-folders/{folder_id}":{"get":{"tags":["agent-folders"],"summary":"Get Folder","description":"Get folder details by ID.","operationId":"agent-folders-get_folder","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Folder Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentFolderRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["agent-folders"],"summary":"Update Folder","description":"Update a folder (rename).","operationId":"agent-folders-update_folder","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Folder Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentFolderUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentFolderRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["agent-folders"],"summary":"Delete Folder","description":"Delete an agent folder.","operationId":"agent-folders-delete_folder","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Folder Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AgentFolderDelete"},{"type":"null"}],"title":"Params"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent-folders/{folder_id}/move":{"post":{"tags":["agent-folders"],"summary":"Move Folder","description":"Move a folder to a new parent folder.","operationId":"agent-folders-move_folder","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Folder Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentFolderMove"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentFolderRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent-tags":{"get":{"tags":["agent-tags"],"summary":"List Agent Tags","description":"List all agent tags in the workspace.","operationId":"agent-tags-list_agent_tags","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_AgentTagRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["agent-tags"],"summary":"Create Agent Tag","description":"Create a new agent tag definition.","operationId":"agent-tags-create_agent_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentTagRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent-tags/{tag_id}":{"get":{"tags":["agent-tags"],"summary":"Get Agent Tag","description":"Get an agent tag by ID.","operationId":"agent-tags-get_agent_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentTagRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["agent-tags"],"summary":"Update Agent Tag","description":"Update an agent tag definition.","operationId":"agent-tags-update_agent_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentTagRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["agent-tags"],"summary":"Delete Agent Tag","description":"Delete an agent tag definition.","operationId":"agent-tags-delete_agent_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/skills":{"get":{"tags":["agent-skills"],"summary":"List Skills","description":"List workspace skills for the current workspace.","operationId":"agent-skills-list_skills","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_SkillReadMinimal_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["agent-skills"],"summary":"Create Skill","description":"Create a new logical skill and seed its draft.","operationId":"agent-skills-create_skill","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/skills:upload":{"post":{"tags":["agent-skills"],"summary":"Upload Skill","description":"Create a new skill by importing a full draft file tree.","operationId":"agent-skills-upload_skill","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillUpload"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/skills/{skill_id}":{"get":{"tags":["agent-skills"],"summary":"Get Skill","description":"Return a skill summary including draft and current version status.","operationId":"agent-skills-get_skill","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["agent-skills"],"summary":"Archive Skill","description":"Archive a logical skill.","operationId":"agent-skills-archive_skill","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/skills/{skill_id}/draft":{"get":{"tags":["agent-skills"],"summary":"Get Skill Draft","description":"Return the mutable draft manifest for a skill.","operationId":"agent-skills-get_skill_draft","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillDraftRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["agent-skills"],"summary":"Patch Skill Draft","description":"Apply optimistic-concurrency mutations to a draft.","operationId":"agent-skills-patch_skill_draft","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillDraftPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillDraftRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/skills/{skill_id}/draft/file":{"get":{"tags":["agent-skills"],"summary":"Get Skill Draft File","description":"Return one draft file inline or as a presigned download.","operationId":"agent-skills-get_skill_draft_file","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"path","in":"query","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillDraftFileRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/skills/{skill_id}/draft/uploads":{"post":{"tags":["agent-skills"],"summary":"Create Skill Draft Upload","description":"Create a staged upload session for a draft file blob.","operationId":"agent-skills-create_skill_draft_upload","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillUploadSessionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillUploadSessionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/skills/{skill_id}/publish":{"post":{"tags":["agent-skills"],"summary":"Publish Skill","description":"Publish the current draft into a new immutable version.","operationId":"agent-skills-publish_skill","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillVersionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/skills/{skill_id}/versions":{"get":{"tags":["agent-skills"],"summary":"List Skill Versions","description":"List immutable versions for a skill.","operationId":"agent-skills-list_skill_versions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_SkillVersionReadMinimal_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/skills/{skill_id}/versions/{version_id}":{"get":{"tags":["agent-skills"],"summary":"Get Skill Version","description":"Return one immutable skill version manifest.","operationId":"agent-skills-get_skill_version","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillVersionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/skills/{skill_id}/versions/{version_id}/file":{"get":{"tags":["agent-skills"],"summary":"Get Skill Version File","description":"Return one published version file inline or as a presigned download.","operationId":"agent-skills-get_skill_version_file","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"path","in":"query","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillDraftFileRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/skills/{skill_id}/versions/{version_id}/restore":{"post":{"tags":["agent-skills"],"summary":"Restore Skill Version","description":"Restore a historical version as the current selected skill version.","operationId":"agent-skills-restore_skill_version","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"skill_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skill Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillReadMinimal"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/sessions":{"post":{"tags":["agent-sessions"],"summary":"Create Session","description":"Create a new agent session associated with an entity.","operationId":"agent-sessions-create_session","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["agent-sessions"],"summary":"List Sessions","description":"List agent sessions for the current workspace with optional filtering.\n\nReturns a list of sessions including both active AgentSessions and legacy\nChat records. Legacy chats have is_readonly=True.","operationId":"agent-sessions-list_sessions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/AgentSessionEntity"},{"type":"null"}],"description":"Filter by entity type","title":"Entity Type"},"description":"Filter by entity type"},{"name":"entity_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by entity ID","title":"Entity Id"},"description":"Filter by entity ID"},{"name":"created_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by session creator. Omit to list the entire workspace.","title":"Created By"},"description":"Filter by session creator. Omit to list the entire workspace."},{"name":"exclude_entity_types","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/AgentSessionEntity"}},{"type":"null"}],"description":"Entity types to exclude from results","title":"Exclude Entity Types"},"description":"Entity types to exclude from results"},{"name":"parent_session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by parent session ID (for finding forked sessions)","title":"Parent Session Id"},"description":"Filter by parent session ID (for finding forked sessions)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Maximum number of sessions to return","default":50,"title":"Limit"},"description":"Maximum number of sessions to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/AgentSessionRead"},{"$ref":"#/components/schemas/ChatReadMinimal"}]},"title":"Response Agent-Sessions-List Sessions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/sessions/{session_id}":{"get":{"tags":["agent-sessions"],"summary":"Get Session","description":"Get an agent session or legacy chat with its message history.\n\nLegacy chats have is_readonly=True.","operationId":"agent-sessions-get_session","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AgentSessionReadWithMessages"},{"$ref":"#/components/schemas/ChatRead"}],"title":"Response Agent-Sessions-Get Session"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["agent-sessions"],"summary":"Update Session","description":"Update session properties.","operationId":"agent-sessions-update_session","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["agent-sessions"],"summary":"Delete Session","description":"Delete an agent session.","operationId":"agent-sessions-delete_session","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/sessions/{session_id}/vercel":{"get":{"tags":["agent-sessions"],"summary":"Get Session Vercel","description":"Get an agent session or legacy chat with message history in Vercel format.\n\nLegacy chats have is_readonly=True.","operationId":"agent-sessions-get_session_vercel","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AgentSessionReadVercel"},{"$ref":"#/components/schemas/ChatReadVercel"}],"title":"Response Agent-Sessions-Get Session Vercel"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/sessions/{session_id}/artifacts/{artifact_type}/{artifact_id}":{"delete":{"tags":["agent-sessions"],"summary":"Remove Session Artifact","description":"Remove one artifact from a session's persisted artifact projection.","operationId":"agent-sessions-remove_session_artifact","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"artifact_type","in":"path","required":true,"schema":{"enum":["case","workflow","run","table","agent","alert","integration","secret","generic"],"type":"string","title":"Artifact Type"}},{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","title":"Artifact Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionArtifactsRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/sessions/{session_id}/messages":{"post":{"tags":["agent-sessions"],"summary":"Send Message","description":"Send a message to the agent session with streaming response.\n\nThis endpoint combines message sending with streaming response,\ncompatible with Vercel's AI SDK useChat hook. It:\n1. Accepts Vercel UI message format or continuation requests\n2. Starts the agent execution\n3. Streams the response back in Vercel's data protocol format","operationId":"agent-sessions-send_message","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/VercelChatRequest"},{"$ref":"#/components/schemas/ContinueRunRequest"}],"discriminator":{"propertyName":"kind","mapping":{"vercel":"#/components/schemas/VercelChatRequest","continue":"#/components/schemas/ContinueRunRequest"}},"title":"Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/sessions/{session_id}/stream":{"get":{"tags":["agent-sessions"],"summary":"Stream Session Events","description":"Stream session events via Server-Sent Events (SSE).\n\nThis endpoint provides real-time streaming of AI agent execution steps\nusing Server-Sent Events. It supports automatic reconnection via the\nLast-Event-ID header.","operationId":"agent-sessions-stream_session_events","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"format","in":"query","required":false,"schema":{"enum":["vercel","basic"],"type":"string","description":"Streaming format (e.g. 'vercel')","default":"vercel","title":"Format"},"description":"Streaming format (e.g. 'vercel')"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/sessions/{session_id}/fork":{"post":{"tags":["agent-sessions"],"summary":"Fork Session","description":"Fork an existing session to continue conversation post-decision.\n\nCreates a new session linked to the parent session, allowing users\nto ask the agent for context after making approval decisions.\n\nSet entity_type to 'approval' for inbox forks to hide from main chat list.","operationId":"agent-sessions-fork_session","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AgentSessionForkRequest"},{"type":"null"}],"title":"Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/agent/sessions/{session_id}/cancel":{"post":{"tags":["agent-sessions"],"summary":"Cancel Session","description":"Request graceful cancellation for the active agent session turn.","operationId":"agent-sessions-cancel_session","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AgentSessionCancelRequest"},{"type":"null"}],"title":"Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSessionCancelResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/approvals/{session_id}":{"post":{"tags":["approvals"],"summary":"Submit Approvals","description":"Submit approval decisions to a running agent workflow.\n\nThis endpoint sends approval decisions back to an agent workflow\nthat is waiting for human-in-the-loop approval on tool calls.\n\nArgs:\n    role: The authenticated user role.\n    session_id: The agent session ID (used to lookup the workflow).\n    payload: The approval decisions mapping tool_call_id to decision.\n    session: Database session for workspace-scoped lookups.\n\nRaises:\n    HTTPException 400: If the approval submission fails validation.\n    HTTPException 404: If the agent session/workflow is not found.\n    HTTPException 500: For unexpected errors.","operationId":"approvals-submit_approvals","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalSubmission"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["approvals"],"summary":"Delete Approval","description":"Dismiss all pending approvals for a session.\n\nIf the Temporal workflow is alive, deny the approvals so it fails at the\nagent step. If the workflow is already gone, delete the approval records\ndirectly. The session itself is left intact in both cases.","operationId":"approvals-delete_approval","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/watchtower/monitor/agents":{"get":{"tags":["watchtower"],"summary":"List Watchtower Agents","operationId":"watchtower-list_watchtower_agents","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"agent_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/WatchtowerAgentType"},{"type":"null"}],"title":"Agent Type"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/WatchtowerAgentStatus"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchtowerAgentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/watchtower/monitor/agents/{agent_id}/sessions":{"get":{"tags":["watchtower"],"summary":"List Watchtower Agent Sessions","operationId":"watchtower-list_watchtower_agent_sessions","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchtowerAgentSessionListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/watchtower/monitor/sessions/{session_id}/tool-calls":{"get":{"tags":["watchtower"],"summary":"List Watchtower Session Tool Calls","operationId":"watchtower-list_watchtower_session_tool_calls","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/WatchtowerToolCallStatus"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchtowerAgentToolCallListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/watchtower/monitor/sessions/{session_id}/revoke":{"post":{"tags":["watchtower"],"summary":"Revoke Watchtower Session","operationId":"watchtower-revoke_watchtower_session","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Session Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchtowerRevokeAgentSessionRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/watchtower/monitor/agents/{agent_id}/disable":{"post":{"tags":["watchtower"],"summary":"Disable Watchtower Agent","operationId":"watchtower-disable_watchtower_agent","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchtowerDisableAgentRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/watchtower/monitor/agents/{agent_id}/enable":{"post":{"tags":["watchtower"],"summary":"Enable Watchtower Agent","operationId":"watchtower-enable_watchtower_agent","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Agent Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/organizations":{"get":{"tags":["admin","admin:organizations"],"summary":"List Organizations","description":"List all organizations.","operationId":"admin-list_organizations","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/tracecat_ee__admin__organizations__schemas__OrgRead"},"type":"array","title":"Response Admin-List Organizations"}}}}},"security":[{"APIKeyCookie":[]}]},"post":{"tags":["admin","admin:organizations"],"summary":"Create Organization","description":"Create a new organization.","operationId":"admin-create_organization","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracecat_ee__admin__organizations__schemas__OrgRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/admin/organizations/{org_id}":{"get":{"tags":["admin","admin:organizations"],"summary":"Get Organization","description":"Get organization by ID.","operationId":"admin-get_organization","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracecat_ee__admin__organizations__schemas__OrgRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["admin","admin:organizations"],"summary":"Update Organization","description":"Update organization.","operationId":"admin-update_organization","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracecat_ee__admin__organizations__schemas__OrgRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin","admin:organizations"],"summary":"Delete Organization","description":"Delete organization.","operationId":"admin-delete_organization","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"confirm","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Must exactly match the organization name.","title":"Confirm"},"description":"Must exactly match the organization name."}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/organizations/{org_id}/invitations":{"post":{"tags":["admin","admin:organizations"],"summary":"Create Organization Invitation","description":"Create a platform-scoped invitation for an organization.","operationId":"admin-create_organization_invitation","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOrgInvitationCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOrgInvitationCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["admin","admin:organizations"],"summary":"List Organization Invitations","description":"List platform-created invitations for an organization.","operationId":"admin-list_organization_invitations","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/InvitationStatus"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_AdminOrgInvitationRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/organizations/{org_id}/invitations/{invitation_id}/token":{"get":{"tags":["admin","admin:organizations"],"summary":"Get Organization Invitation Token","description":"Get the raw token for a platform-created organization invitation.","operationId":"admin-get_organization_invitation_token","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOrgInvitationTokenRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/organizations/{org_id}/invitations/{invitation_id}":{"delete":{"tags":["admin","admin:organizations"],"summary":"Revoke Organization Invitation","description":"Revoke a pending platform-created organization invitation.","operationId":"admin-revoke_organization_invitation","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invitation Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/organizations/{org_id}/domains":{"get":{"tags":["admin","admin:organizations"],"summary":"List Organization Domains","description":"List all assigned domains for an organization.","operationId":"admin-list_organization_domains","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/tracecat_ee__admin__organizations__schemas__OrgDomainRead"},"title":"Response Admin-List Organization Domains"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin","admin:organizations"],"summary":"Create Organization Domain","description":"Create a new assigned domain for an organization.","operationId":"admin-create_organization_domain","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgDomainCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracecat_ee__admin__organizations__schemas__OrgDomainRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/organizations/{org_id}/domains/{domain_id}":{"patch":{"tags":["admin","admin:organizations"],"summary":"Update Organization Domain","description":"Update active/primary state for an assigned organization domain.","operationId":"admin-update_organization_domain","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"domain_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Domain Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgDomainUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracecat_ee__admin__organizations__schemas__OrgDomainRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin","admin:organizations"],"summary":"Delete Organization Domain","description":"Delete an assigned organization domain.","operationId":"admin-delete_organization_domain","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"domain_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Domain Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/organizations/{org_id}/registry/repositories":{"get":{"tags":["admin","admin:organizations"],"summary":"List Org Repositories","description":"List registry repositories for an organization.","operationId":"admin-list_org_repositories","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrgRegistryRepositoryRead"},"title":"Response Admin-List Org Repositories"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/organizations/{org_id}/registry/repositories/{repository_id}/versions":{"get":{"tags":["admin","admin:organizations"],"summary":"List Org Repository Versions","description":"List versions for a specific repository in an organization.","operationId":"admin-list_org_repository_versions","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrgRegistryVersionRead"},"title":"Response Admin-List Org Repository Versions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/organizations/{org_id}/registry/repositories/{repository_id}/sync":{"post":{"tags":["admin","admin:organizations"],"summary":"Sync Org Repository","description":"Sync a registry repository for an organization.","operationId":"admin-sync_org_repository","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/OrgRegistrySyncRequest"},{"type":"null"}],"title":"Params"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgRegistrySyncResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/organizations/{org_id}/registry/repositories/{repository_id}/versions/{version_id}/promote":{"post":{"tags":["admin","admin:organizations"],"summary":"Promote Org Repository Version","description":"Promote a registry version to be the current version for an org repository.","operationId":"admin-promote_org_repository_version","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}},{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgRegistryVersionPromoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/settings/audit":{"get":{"tags":["admin","admin:settings"],"summary":"Get Audit Settings","description":"Get platform audit settings.","operationId":"admin-get_audit_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformAuditSettingsRead"}}}}},"security":[{"APIKeyCookie":[]}]},"patch":{"tags":["admin","admin:settings"],"summary":"Update Audit Settings","description":"Update platform audit settings.","operationId":"admin-update_audit_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformAuditSettingsUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformAuditSettingsRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/admin/settings/audit/test":{"post":{"tags":["admin","admin:settings"],"summary":"Test Audit Webhook","description":"Probe the submitted platform audit webhook configuration.","operationId":"admin-test_audit_webhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformAuditSettingsUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditWebhookTestResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/admin/settings/registry":{"get":{"tags":["admin","admin:settings"],"summary":"Get Registry Settings","description":"Get platform registry settings.","operationId":"admin-get_registry_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformRegistrySettingsRead"}}}}},"security":[{"APIKeyCookie":[]}]},"patch":{"tags":["admin","admin:settings"],"summary":"Update Registry Settings","description":"Update platform registry settings.","operationId":"admin-update_registry_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformRegistrySettingsUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformRegistrySettingsRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/admin/tiers":{"get":{"tags":["admin","admin:tiers"],"summary":"List Tiers","description":"List all tiers.","operationId":"admin-list_tiers","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","description":"Include inactive tiers in results","default":false,"title":"Include Inactive"},"description":"Include inactive tiers in results"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TierRead"},"title":"Response Admin-List Tiers"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin","admin:tiers"],"summary":"Create Tier","description":"Create a new tier.","operationId":"admin-create_tier","security":[{"APIKeyCookie":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TierCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TierRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/tiers/organizations":{"get":{"tags":["admin","admin:tiers"],"summary":"List Org Tiers","description":"List tier assignments for organizations.","operationId":"admin-list_org_tiers","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","format":"uuid"}},{"type":"null"}],"description":"Optional list of organization IDs to filter results","title":"Org Ids"},"description":"Optional list of organization IDs to filter results"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationTierRead"},"title":"Response Admin-List Org Tiers"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/tiers/{tier_id}":{"get":{"tags":["admin","admin:tiers"],"summary":"Get Tier","description":"Get tier by ID.","operationId":"admin-get_tier","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"tier_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tier Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TierRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["admin","admin:tiers"],"summary":"Update Tier","description":"Update a tier.","operationId":"admin-update_tier","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"tier_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tier Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TierUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TierRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin","admin:tiers"],"summary":"Delete Tier","description":"Delete a tier (only if no orgs are assigned to it).","operationId":"admin-delete_tier","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"tier_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tier Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/tiers/organizations/{org_id}":{"get":{"tags":["admin","admin:tiers"],"summary":"Get Org Tier","description":"Get tier assignment for an organization.","operationId":"admin-get_org_tier","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationTierRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["admin","admin:tiers"],"summary":"Update Org Tier","description":"Update organization's tier assignment and overrides.","operationId":"admin-update_org_tier","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"org_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Org Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationTierUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationTierRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users":{"get":{"tags":["admin","admin:users"],"summary":"List Users","description":"List all users.","operationId":"admin-list_users","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdminUserRead"},"type":"array","title":"Response Admin-List Users"}}}}},"security":[{"APIKeyCookie":[]}]},"post":{"tags":["admin","admin:users"],"summary":"Create User","description":"Create a platform-level user without org membership.","operationId":"admin-create_user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/admin/users/{user_id}":{"get":{"tags":["admin","admin:users"],"summary":"Get User","description":"Get user by ID.","operationId":"admin-get_user","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin","admin:users"],"summary":"Delete User","description":"Delete a platform user globally, clearing sessions and dependencies first.","operationId":"admin-delete_user","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/promote":{"post":{"tags":["admin","admin:users"],"summary":"Promote To Superuser","description":"Promote a user to superuser status.","operationId":"admin-promote_to_superuser","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/users/{user_id}/demote":{"post":{"tags":["admin","admin:users"],"summary":"Demote From Superuser","description":"Remove superuser status from a user.","operationId":"admin-demote_from_superuser","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/agent/catalog":{"get":{"tags":["admin:agent"],"summary":"List Platform Catalog","description":"List platform-owned agent catalog entries.","operationId":"admin:agent-list_platform_catalog","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}},{"name":"model_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Name"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCatalogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/registry/repos":{"get":{"tags":["admin:registry"],"summary":"List Platform Repositories","description":"List all platform registry repositories.","operationId":"admin:registry-list_platform_repositories","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RegistryRepositoryReadMinimal"},"type":"array","title":"Response Admin:Registry-List Platform Repositories"}}}}},"security":[{"APIKeyCookie":[]}]}},"/admin/registry/repos/{repository_id}":{"get":{"tags":["admin:registry"],"summary":"Get Platform Repository","description":"Get a specific platform registry repository.","operationId":"admin:registry-get_platform_repository","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryRepositoryRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/registry/sync":{"post":{"tags":["admin:registry"],"summary":"Sync All Repositories","description":"Trigger sync for all platform registry repositories.","operationId":"admin:registry-sync_all_repositories","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"force","in":"query","required":false,"schema":{"type":"boolean","description":"Force sync by deleting existing version","default":false,"title":"Force"},"description":"Force sync by deleting existing version"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracecat__admin__registry__schemas__RegistrySyncResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/registry/sync/{repository_id}":{"post":{"tags":["admin:registry"],"summary":"Sync Repository","description":"Trigger sync for a specific platform registry repository.","operationId":"admin:registry-sync_repository","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","description":"Force sync by deleting existing version","default":false,"title":"Force"},"description":"Force sync by deleting existing version"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracecat__admin__registry__schemas__RegistrySyncResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/registry/status":{"get":{"tags":["admin:registry"],"summary":"Get Registry Status","description":"Get registry sync status and health.","operationId":"admin:registry-get_registry_status","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryStatusResponse"}}}}},"security":[{"APIKeyCookie":[]}]}},"/admin/registry/versions":{"get":{"tags":["admin:registry"],"summary":"List Registry Versions","description":"List registry versions with optional filtering.","operationId":"admin:registry-list_registry_versions","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Repository Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/tracecat__admin__registry__schemas__RegistryVersionRead"},"title":"Response Admin:Registry-List Registry Versions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/registry/versions/artifacts/backfill":{"post":{"tags":["admin:registry"],"summary":"Start Registry Artifacts Backfill","description":"Start a workflow to backfill artifacts for selected versions.","operationId":"admin:registry-start_registry_artifacts_backfill","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryArtifactsBackfillStartRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryArtifactsBackfillStartResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/admin/registry/{repository_id}/versions/{version_id}/promote":{"post":{"tags":["admin:registry"],"summary":"Promote Registry Version","description":"Promote a registry version to be the current version for a repository.","operationId":"admin:registry-promote_registry_version","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracecat__admin__registry__schemas__RegistryVersionPromoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/registry/{repository_id}/versions/{version_id}":{"delete":{"tags":["admin:registry"],"summary":"Delete Registry Version","description":"Delete an unused, non-current platform registry version.","operationId":"admin:registry-delete_registry_version","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/inbox/items/pending-count":{"get":{"tags":["inbox"],"summary":"Get Pending Count","description":"Get the number of pending inbox items that require attention.","operationId":"inbox-get_pending_count","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxPendingCount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/inbox/items":{"get":{"tags":["inbox"],"summary":"List Items","description":"List inbox items with cursor-based pagination.\n\nSupports sorting by created_at or updated_at.\nDefault sort is by created_at descending.","operationId":"inbox-list_items","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}},{"name":"order_by","in":"query","required":false,"schema":{"anyOf":[{"enum":["created_at","updated_at"],"type":"string"},{"type":"null"}],"description":"Column name to order by (created_at, updated_at)","title":"Order By"},"description":"Column name to order by (created_at, updated_at)"},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"description":"Sort direction (asc or desc)","title":"Sort"},"description":"Sort direction (asc or desc)"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"description":"Case-insensitive search on item title","title":"Search"},"description":"Case-insensitive search on item title"},{"name":"group","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/InboxGroup"},{"type":"null"}],"description":"Filter items to a single display group","title":"Group"},"description":"Filter items to a single display group"},{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/AgentSessionEntity"},{"type":"null"}],"description":"Filter items to a single entity type","title":"Entity Type"},"description":"Filter items to a single entity type"},{"name":"created_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Only items created at or after this time (ISO 8601)","title":"Created After"},"description":"Only items created at or after this time (ISO 8601)"},{"name":"updated_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Only items updated at or after this time (ISO 8601)","title":"Updated After"},"description":"Only items updated at or after this time (ISO 8601)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_InboxItemRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/editor/functions":{"get":{"tags":["editor"],"summary":"List Functions","operationId":"editor-list_functions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EditorFunctionRead"},"title":"Response Editor-List Functions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/editor/actions":{"get":{"tags":["editor"],"summary":"List Actions","operationId":"editor-list_actions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"workflow_id","in":"query","required":true,"schema":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EditorActionRead"},"title":"Response Editor-List Actions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/editor/expressions/validate":{"post":{"tags":["editor"],"summary":"Validate Expression","description":"LSP endpoint for validating template expressions using the Lark grammar.\n\nThis endpoint provides syntax validation and token information for syntax highlighting\nof template expressions like: ACTIONS.step1.result, SECRETS.api_key, etc.","operationId":"editor-validate_expression","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpressionValidationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpressionValidationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/editor/field-schema":{"get":{"tags":["editor"],"summary":"Field Schema","operationId":"editor-field_schema","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditorComponent"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registry/repos/{repository_id}/sync":{"post":{"tags":["registry-repositories"],"summary":"Sync Registry Repository","description":"Sync an org-scoped registry repository.\n\nFor platform registries (base registry), use the admin API at /admin/registry/sync.\n\nArgs:\n    repository_id: The ID of the repository to sync\n    sync_params: Optional sync parameters, including target commit SHA and force flag\n\nRaises:\n    422: If there is an error syncing the repository (validation error)\n    404: If the repository is not found\n    400: If there is an error syncing the repository","operationId":"registry-repositories-sync_registry_repository","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/RegistryRepositorySync"},{"type":"null"}],"title":"Sync Params"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracecat__registry__repositories__schemas__RegistrySyncResponse"}}}},"422":{"description":"Registry sync validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryRepositoryErrorDetail"}}}},"404":{"description":"Registry repository not found"},"400":{"description":"Cannot sync repository"}}}},"/registry/repos/{repository_id}/versions":{"get":{"tags":["registry-repositories"],"summary":"List Repository Versions","description":"List all versions for an org-scoped registry repository.\n\nFor platform registry versions, use the admin API at /admin/registry/versions.","operationId":"registry-repositories-list_repository_versions","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/tracecat__registry__repositories__schemas__RegistryVersionRead"},"title":"Response Registry-Repositories-List Repository Versions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registry/repos":{"get":{"tags":["registry-repositories"],"summary":"List Registry Repositories","description":"List org-scoped registry repositories.\n\nThis endpoint ensures org-scoped repositories (local, custom git) exist\nbefore returning the list. Platform registry is handled separately at startup.\n\nFor platform registries (base registry), use the admin API at /admin/registry/repos.","operationId":"registry-repositories-list_registry_repositories","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RegistryRepositoryReadMinimal"},"type":"array","title":"Response Registry-Repositories-List Registry Repositories"}}}}},"security":[{"APIKeyCookie":[]}]},"post":{"tags":["registry-repositories"],"summary":"Create Registry Repository","description":"Create a new registry repository.","operationId":"registry-repositories-create_registry_repository","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryRepositoryCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryRepositoryRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/registry/repos/{repository_id}":{"get":{"tags":["registry-repositories"],"summary":"Get Registry Repository","description":"Get a specific org-scoped registry repository by ID.\n\nFor platform registries, use the admin API at /admin/registry/repos/{repository_id}.","operationId":"registry-repositories-get_registry_repository","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryRepositoryRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["registry-repositories"],"summary":"Update Registry Repository","description":"Update an existing registry repository.","operationId":"registry-repositories-update_registry_repository","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryRepositoryUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryRepositoryRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["registry-repositories"],"summary":"Delete Registry Repository","description":"Delete a registry repository.","operationId":"registry-repositories-delete_registry_repository","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registry/repos/{repository_id}/commits":{"get":{"tags":["registry-repositories"],"summary":"List Repository Commits","description":"List commits from a specific registry repository.","operationId":"registry-repositories-list_repository_commits","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}},{"name":"branch","in":"query","required":false,"schema":{"type":"string","default":"main","title":"Branch"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GitCommitInfo"},"title":"Response Registry-Repositories-List Repository Commits"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registry/repos/{repository_id}/versions/{version_id}/promote":{"post":{"tags":["registry-repositories"],"summary":"Promote Registry Version","description":"Promote a specific version to be the current version of an org-scoped repository.\n\nThis endpoint allows administrators to manually promote or rollback to a\nspecific registry version, overriding the auto-promotion that happens during sync.\n\nFor platform registries, use the admin API at\n/admin/registry/{repository_id}/versions/{version_id}/promote.\n\nArgs:\n    repository_id: The ID of the repository\n    version_id: The ID of the version to promote\n\nReturns:\n    RegistryVersionPromoteResponse with previous and current version info\n\nRaises:\n    404: If repository or version not found\n    400: If version doesn't belong to repository or has no tarball","operationId":"registry-repositories-promote_registry_version","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tracecat__registry__repositories__schemas__RegistryVersionPromoteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registry/repos/{repository_id}/versions/{version_id}":{"delete":{"tags":["registry-repositories"],"summary":"Delete Registry Version","description":"Delete a specific registry version.\n\nSafety checks:\n- Cannot delete the currently promoted version\n- Cannot delete versions referenced by published workflow definitions\n\nFor platform registries, use the admin API.","operationId":"registry-repositories-delete_registry_version","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registry/repos/{repository_id}/versions/{version_id}/diff":{"get":{"tags":["registry-repositories"],"summary":"Compare Registry Versions","description":"Compare two registry versions and return the diff.\n\nArgs:\n    repository_id: The repository ID\n    version_id: The base version ID (typically older)\n    compare_to: The version ID to compare against (typically newer)\n\nReturns:\n    VersionDiff with added, removed, and modified actions","operationId":"registry-repositories-compare_registry_versions","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}},{"name":"compare_to","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Compare To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionDiff"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registry/repos/{repository_id}/versions/{version_id}/previous":{"get":{"tags":["registry-repositories"],"summary":"Get Previous Registry Version","description":"Get the previous version before the specified version.\n\nUseful for quick rollback UX - returns the version to rollback to.\nReturns null if there is no previous version.","operationId":"registry-repositories-get_previous_registry_version","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"repository_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Repository Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/tracecat__registry__repositories__schemas__RegistryVersionRead"},{"type":"null"}],"title":"Response Registry-Repositories-Get Previous Registry Version"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registry/actions":{"get":{"tags":["registry-actions"],"summary":"List Registry Actions","description":"List all actions from registry index.","operationId":"registry-actions-list_registry_actions","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"include_locked","in":"query","required":false,"schema":{"type":"boolean","description":"Include actions locked by missing entitlements","default":false,"title":"Include Locked"},"description":"Include actions locked by missing entitlements"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RegistryActionReadMinimal"},"title":"Response Registry-Actions-List Registry Actions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/registry/actions/{action_name}":{"get":{"tags":["registry-actions"],"summary":"Get Registry Action","description":"Get a specific registry action.","operationId":"registry-actions-get_registry_action","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"action_name","in":"path","required":true,"schema":{"type":"string","title":"Action Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistryActionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/settings/git":{"get":{"tags":["settings"],"summary":"Get Git Settings","operationId":"settings-get_git_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitSettingsRead"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]},"patch":{"tags":["settings"],"summary":"Update Git Settings","operationId":"settings-update_git_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitSettingsUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]}},"/settings/saml":{"get":{"tags":["settings"],"summary":"Get Saml Settings","operationId":"settings-get_saml_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SAMLSettingsRead"}}}}},"security":[{"APIKeyCookie":[]}]},"patch":{"tags":["settings"],"summary":"Update Saml Settings","operationId":"settings-update_saml_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SAMLSettingsUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/settings/app":{"get":{"tags":["settings"],"summary":"Get App Settings","operationId":"settings-get_app_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppSettingsRead"}}}}},"security":[{"APIKeyCookie":[]}]},"patch":{"tags":["settings"],"summary":"Update App Settings","operationId":"settings-update_app_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppSettingsUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/settings/audit":{"get":{"tags":["settings"],"summary":"Get Audit Settings","operationId":"settings-get_audit_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditSettingsRead"}}}}},"security":[{"APIKeyCookie":[]}]},"patch":{"tags":["settings"],"summary":"Update Audit Settings","operationId":"settings-update_audit_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditSettingsUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/settings/audit/test":{"post":{"tags":["settings"],"summary":"Test Audit Webhook","description":"Probe the submitted audit webhook configuration with a marked test event.","operationId":"settings-test_audit_webhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditSettingsUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditWebhookTestResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/settings/agent":{"get":{"tags":["settings"],"summary":"Get Agent Settings","operationId":"settings-get_agent_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSettingsRead"}}}}},"security":[{"APIKeyCookie":[]}]},"patch":{"tags":["settings"],"summary":"Update Agent Settings","operationId":"settings-update_agent_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSettingsUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/settings/agent-otel":{"get":{"tags":["settings"],"summary":"Get Agent Otel Settings","operationId":"settings-get_agent_otel_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentOtelSettingsRead"}}}}},"security":[{"APIKeyCookie":[]}]},"patch":{"tags":["settings"],"summary":"Update Agent Otel Settings","operationId":"settings-update_agent_otel_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentOtelSettingsUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/organization/secrets":{"get":{"tags":["organization-secrets"],"summary":"List Org Secrets","description":"List organization secrets.","operationId":"organization-secrets-list_org_secrets","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"array","uniqueItems":true,"items":{"$ref":"#/components/schemas/SecretType"}},{"type":"null"}],"description":"Filter by secret type","title":"Type"},"description":"Filter by secret type"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SecretReadMinimal"},"title":"Response Organization-Secrets-List Org Secrets"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["organization-secrets"],"summary":"Create Org Secret","description":"Create an organization secret.","operationId":"organization-secrets-create_org_secret","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/secrets/{secret_name}":{"get":{"tags":["organization-secrets"],"summary":"Get Org Secret By Name","description":"Get an organization secret by name.","operationId":"organization-secrets-get_org_secret_by_name","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"secret_name","in":"path","required":true,"schema":{"type":"string","title":"Secret Name"}},{"name":"environment","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Environment"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationSecretRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/secrets/{secret_id}":{"post":{"tags":["organization-secrets"],"summary":"Update Org Secret By Id","description":"Update an organization secret by ID.","operationId":"organization-secrets-update_org_secret_by_id","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"secret_id","in":"path","required":true,"schema":{"type":"string","title":"Secret Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["organization-secrets"],"summary":"Delete Org Secret By Id","description":"Delete an organization secret by ID.","operationId":"organization-secrets-delete_org_secret_by_id","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"secret_id","in":"path","required":true,"schema":{"type":"string","title":"Secret Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tables":{"get":{"tags":["tables"],"summary":"List Tables","description":"List all tables.","operationId":"tables-list_tables","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TableReadMinimal"},"title":"Response Tables-List Tables"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["tables"],"summary":"Create Table","description":"Create a new table.","operationId":"tables-create_table","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tables/{table_id}":{"get":{"tags":["tables"],"summary":"Get Table","description":"Get a table by ID.","operationId":"tables-get_table","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["tables"],"summary":"Update Table","description":"Update table metadata.","operationId":"tables-update_table","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["tables"],"summary":"Delete Table","description":"Delete a table.","operationId":"tables-delete_table","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tables/{table_id}/columns":{"post":{"tags":["tables"],"summary":"Create Column","description":"Add a column to a table.","operationId":"tables-create_column","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableColumnCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tables/{table_id}/columns/{column_id}":{"patch":{"tags":["tables"],"summary":"Update Column","description":"Update a column.","operationId":"tables-update_column","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"column_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Column Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableColumnUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["tables"],"summary":"Delete Column","description":"Delete a column from a table.","operationId":"tables-delete_column","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"column_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Column Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tables/{table_id}/rows":{"get":{"tags":["tables"],"summary":"List Rows","description":"List table rows with cursor-based pagination and sorting.","operationId":"tables-list_rows","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}},{"name":"order_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Column name to order by","title":"Order By"},"description":"Column name to order by"},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"description":"Sort direction (asc or desc)","title":"Sort"},"description":"Sort direction (asc or desc)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_TableRowRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["tables"],"summary":"Insert Row","description":"Create a new row in a table.","operationId":"tables-insert_row","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRowInsert"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tables/{table_id}/rows/{row_id}":{"get":{"tags":["tables"],"summary":"Get Row","description":"Get a row by ID.","operationId":"tables-get_row","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"row_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Row Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["tables"],"summary":"Delete Row","description":"Delete a row from a table.","operationId":"tables-delete_row","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"row_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Row Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["tables"],"summary":"Update Row","description":"Update a row in a table.","operationId":"tables-update_row","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"row_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Row Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRowUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRowRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tables/{table_id}/rows/batch":{"post":{"tags":["tables"],"summary":"Batch Insert Rows","description":"Insert multiple rows into a table atomically.\n\nAll rows will be inserted in a single transaction. If any row fails,\nthe entire batch will be rolled back.","operationId":"tables-batch_insert_rows","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRowInsertBatch"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRowInsertBatchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tables/{table_id}/rows/batch-delete":{"post":{"tags":["tables"],"summary":"Batch Delete Rows","description":"Delete multiple rows from a table.","operationId":"tables-batch_delete_rows","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRowBatchDelete"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRowBatchDeleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tables/{table_id}/rows/batch-update":{"post":{"tags":["tables"],"summary":"Batch Update Rows","description":"Update multiple rows in a table with the same data.","operationId":"tables-batch_update_rows","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRowBatchUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRowBatchUpdateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tables/import":{"post":{"tags":["tables"],"summary":"Import Table From Csv","description":"Create a new table by importing a CSV file.","operationId":"tables-import_table_from_csv","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_tables-import_table_from_csv"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableImportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/tables/{table_id}/import":{"post":{"tags":["tables"],"summary":"Import Csv","description":"Import data from a CSV file into a table.","operationId":"tables-import_csv","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_tables-import_csv"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableRowInsertBatchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases":{"get":{"tags":["cases"],"summary":"List Cases","description":"List cases with default filtering and sorting options.","operationId":"cases-list_cases","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Maximum items per page","default":20,"title":"Limit"},"description":"Maximum items per page"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for pagination","title":"Cursor"},"description":"Cursor for pagination"},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","description":"Reverse pagination direction","default":false,"title":"Reverse"},"description":"Reverse pagination direction"},{"name":"order_by","in":"query","required":false,"schema":{"anyOf":[{"enum":["created_at","updated_at","priority","severity","status","tasks"],"type":"string"},{"type":"null"}],"description":"Column name to order by (e.g. created_at, updated_at, priority, severity, status, tasks). Default: created_at","title":"Order By"},"description":"Column name to order by (e.g. created_at, updated_at, priority, severity, status, tasks). Default: created_at"},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"description":"Direction to sort (asc or desc)","title":"Sort"},"description":"Direction to sort (asc or desc)"},{"name":"include_rows","in":"query","required":false,"schema":{"type":"boolean","description":"Include linked table rows","default":false,"title":"Include Rows"},"description":"Include linked table rows"},{"name":"field_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Include only the requested custom field IDs","title":"Field Ids"},"description":"Include only the requested custom field IDs"},{"name":"include_durations","in":"query","required":false,"schema":{"type":"boolean","description":"Include case duration values","default":false,"title":"Include Durations"},"description":"Include case duration values"},{"name":"include_payload","in":"query","required":false,"schema":{"type":"boolean","description":"Include case payload","default":false,"title":"Include Payload"},"description":"Include case payload"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_CaseReadMinimal_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["cases"],"summary":"Create Case","description":"Create a new case.","operationId":"cases-create_case","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/search":{"get":{"tags":["cases"],"summary":"Search Cases","description":"Search cases with cursor-based pagination, filtering, and sorting.","operationId":"cases-search_cases","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Maximum items per page","default":20,"title":"Limit"},"description":"Maximum items per page"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for pagination","title":"Cursor"},"description":"Cursor for pagination"},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","description":"Reverse pagination direction","default":false,"title":"Reverse"},"description":"Reverse pagination direction"},{"name":"search_term","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Text to search for in case summary, description, or short ID","title":"Search Term"},"description":"Text to search for in case summary, description, or short ID"},{"name":"short_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search by exact case short ID (e.g. 42 or CASE-0042)","title":"Short Id"},"description":"Search by exact case short ID (e.g. 42 or CASE-0042)"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CaseStatus"}},{"type":"null"}],"description":"Filter by case status","title":"Status"},"description":"Filter by case status"},{"name":"priority","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CasePriority"}},{"type":"null"}],"description":"Filter by case priority","title":"Priority"},"description":"Filter by case priority"},{"name":"severity","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CaseSeverity"}},{"type":"null"}],"description":"Filter by case severity","title":"Severity"},"description":"Filter by case severity"},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by tag IDs or slugs (AND logic)","title":"Tags"},"description":"Filter by tag IDs or slugs (AND logic)"},{"name":"dropdown","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by dropdown values. Format: definition_ref:option_ref (AND across definitions, OR within)","title":"Dropdown"},"description":"Filter by dropdown values. Format: definition_ref:option_ref (AND across definitions, OR within)"},{"name":"start_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Return cases created at or after this timestamp","title":"Start Time"},"description":"Return cases created at or after this timestamp"},{"name":"end_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Return cases created at or before this timestamp","title":"End Time"},"description":"Return cases created at or before this timestamp"},{"name":"updated_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Return cases updated at or after this timestamp","title":"Updated After"},"description":"Return cases updated at or after this timestamp"},{"name":"updated_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Return cases updated at or before this timestamp","title":"Updated Before"},"description":"Return cases updated at or before this timestamp"},{"name":"assignee_id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by assignee ID or 'unassigned'","title":"Assignee Id"},"description":"Filter by assignee ID or 'unassigned'"},{"name":"order_by","in":"query","required":false,"schema":{"anyOf":[{"enum":["created_at","updated_at","priority","severity","status","tasks"],"type":"string"},{"type":"null"}],"description":"Column name to order by (e.g. created_at, updated_at, priority, severity, status, tasks). Default: created_at","title":"Order By"},"description":"Column name to order by (e.g. created_at, updated_at, priority, severity, status, tasks). Default: created_at"},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"description":"Direction to sort (asc or desc)","title":"Sort"},"description":"Direction to sort (asc or desc)"},{"name":"include_rows","in":"query","required":false,"schema":{"type":"boolean","description":"Include linked table rows","default":false,"title":"Include Rows"},"description":"Include linked table rows"},{"name":"field_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Include only the requested custom field IDs","title":"Field Ids"},"description":"Include only the requested custom field IDs"},{"name":"include_durations","in":"query","required":false,"schema":{"type":"boolean","description":"Include case duration values","default":false,"title":"Include Durations"},"description":"Include case duration values"},{"name":"include_payload","in":"query","required":false,"schema":{"type":"boolean","description":"Include case payload","default":false,"title":"Include Payload"},"description":"Include case payload"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_CaseReadMinimal_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/search/aggregate":{"get":{"tags":["cases"],"summary":"Search Case Aggregates","description":"Return global case totals and per-stage counts for the current filters.","operationId":"cases-search_case_aggregates","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"search_term","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Text to search for in case summary, description, or short ID","title":"Search Term"},"description":"Text to search for in case summary, description, or short ID"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CaseStatus"}},{"type":"null"}],"description":"Filter by case status","title":"Status"},"description":"Filter by case status"},{"name":"priority","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CasePriority"}},{"type":"null"}],"description":"Filter by case priority","title":"Priority"},"description":"Filter by case priority"},{"name":"severity","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CaseSeverity"}},{"type":"null"}],"description":"Filter by case severity","title":"Severity"},"description":"Filter by case severity"},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by tag IDs or slugs (AND logic)","title":"Tags"},"description":"Filter by tag IDs or slugs (AND logic)"},{"name":"dropdown","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by dropdown values. Format: definition_ref:option_ref (AND across definitions, OR within)","title":"Dropdown"},"description":"Filter by dropdown values. Format: definition_ref:option_ref (AND across definitions, OR within)"},{"name":"start_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Return cases created at or after this timestamp","title":"Start Time"},"description":"Return cases created at or after this timestamp"},{"name":"end_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Return cases created at or before this timestamp","title":"End Time"},"description":"Return cases created at or before this timestamp"},{"name":"updated_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Return cases updated at or after this timestamp","title":"Updated After"},"description":"Return cases updated at or after this timestamp"},{"name":"updated_before","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Return cases updated at or before this timestamp","title":"Updated Before"},"description":"Return cases updated at or before this timestamp"},{"name":"assignee_id","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"description":"Filter by assignee ID or 'unassigned'","title":"Assignee Id"},"description":"Filter by assignee ID or 'unassigned'"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseSearchAggregateRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/batch-update":{"post":{"tags":["cases"],"summary":"Batch Update Cases","description":"Update multiple cases with per-case results.","operationId":"cases-batch_update_cases","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseBatchUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseBatchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/batch-delete":{"post":{"tags":["cases"],"summary":"Batch Delete Cases","description":"Delete multiple cases with per-case results.","operationId":"cases-batch_delete_cases","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseBatchDelete"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseBatchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}":{"get":{"tags":["cases"],"summary":"Get Case","description":"Get a specific case.","operationId":"cases-get_case","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"include_rows","in":"query","required":false,"schema":{"type":"boolean","description":"Include linked table rows","default":false,"title":"Include Rows"},"description":"Include linked table rows"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["cases"],"summary":"Update Case","description":"Update a case.","operationId":"cases-update_case","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["cases"],"summary":"Delete Case","description":"Delete a case.","operationId":"cases-delete_case","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/comments":{"get":{"tags":["cases"],"summary":"List Comments","description":"List all comments for a case.","operationId":"cases-list_comments","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaseCommentRead"},"title":"Response Cases-List Comments"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["cases"],"summary":"Create Comment","description":"Create a new comment on a case.","operationId":"cases-create_comment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseCommentCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/comments/threads":{"get":{"tags":["cases"],"summary":"List Comment Threads","description":"List case comment threads.","operationId":"cases-list_comment_threads","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaseCommentThreadRead"},"title":"Response Cases-List Comment Threads"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/comments/{comment_id}":{"patch":{"tags":["cases"],"summary":"Update Comment","description":"Update an existing comment.","operationId":"cases-update_comment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Comment Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseCommentUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["cases"],"summary":"Delete Comment","description":"Delete a comment.","operationId":"cases-delete_comment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Comment Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/events":{"get":{"tags":["cases"],"summary":"List Events With Users","description":"List all users for a case.","operationId":"cases-list_events_with_users","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseEventsWithUsers"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/tasks":{"get":{"tags":["cases"],"summary":"List Tasks","description":"List all tasks for a case.","operationId":"cases-list_tasks","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaseTaskRead"},"title":"Response Cases-List Tasks"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["cases"],"summary":"Create Task","description":"Create a new task for a case.","operationId":"cases-create_task","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTaskCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTaskRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/tasks/{task_id}":{"patch":{"tags":["cases"],"summary":"Update Task","description":"Update a task.","operationId":"cases-update_task","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTaskUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTaskRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["cases"],"summary":"Delete Task","description":"Delete a task.","operationId":"cases-delete_task","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"task_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Task Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/versions":{"get":{"tags":["cases"],"summary":"List Case Versions","description":"List immutable case field versions newest-first.","operationId":"cases-list_case_versions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Maximum items per page","default":20,"title":"Limit"},"description":"Maximum items per page"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":8192},{"type":"null"}],"description":"Cursor for pagination","title":"Cursor"},"description":"Cursor for pagination"},{"name":"field","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CaseVersionField"},{"type":"null"}],"description":"Optionally include only summary or description versions","title":"Field"},"description":"Optionally include only summary or description versions"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_CaseVersionReadMinimal_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/versions/{version_id}/compare":{"get":{"tags":["cases"],"summary":"Compare Case Version","description":"Return a case field version and its immediate predecessor.","operationId":"cases-compare_case_version","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseVersionCompareRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/versions/{version_id}/restore":{"post":{"tags":["cases"],"summary":"Restore Case Version","description":"Restore one historical case field version atomically.","operationId":"cases-restore_case_version","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Version Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseVersionRestoreRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/rows":{"get":{"tags":["cases"],"summary":"List Case Rows","description":"List linked rows.\n\n``total_estimate`` is an exact count when ``table_id`` is set, null otherwise.","operationId":"cases-list_case_rows","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"reverse","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Reverse"}},{"name":"table_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Restrict results to one linked table","title":"Table Id"},"description":"Restrict results to one linked table"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CursorPaginatedResponse_CaseTableRowRead_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["cases"],"summary":"Link Case Row","operationId":"cases-link_case_row","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTableRowLinkCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTableRowRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/rows/tables":{"get":{"tags":["cases"],"summary":"List Case Linked Tables","description":"List the tables that have rows linked to a case, with their columns.\n\nOnly ``case:read`` is required: the links, and the column definitions needed\nto render them, are case data.","operationId":"cases-list_case_linked_tables","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaseLinkedTableRead"},"title":"Response Cases-List Case Linked Tables"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/rows/insert":{"post":{"tags":["cases"],"summary":"Insert Case Row","operationId":"cases-insert_case_row","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTableRowInsertCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTableRowRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/rows/batch-link":{"post":{"tags":["cases"],"summary":"Batch Link Case Rows","description":"Link rows in bulk; conflict handling makes an integrity error unreachable.","operationId":"cases-batch_link_case_rows","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTableRowBatchLink"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTableRowBatchLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/rows/batch-unlink":{"post":{"tags":["cases"],"summary":"Batch Unlink Case Rows","description":"Unlink rows in bulk, returning zero for a fully no-op batch.","operationId":"cases-batch_unlink_case_rows","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTableRowBatchUnlink"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTableRowBatchUnlinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/rows/{table_id}/{row_id}":{"delete":{"tags":["cases"],"summary":"Unlink Case Row","operationId":"cases-unlink_case_row","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"table_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Table Id"}},{"name":"row_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Row Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/case-fields":{"get":{"tags":["cases"],"summary":"List Fields","description":"List all case fields.","operationId":"cases-list_fields","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaseFieldReadMinimal"},"title":"Response Cases-List Fields"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["cases"],"summary":"Create Field","description":"Create a new case field.","operationId":"cases-create_field","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseFieldCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/case-fields/{field_id}":{"patch":{"tags":["cases"],"summary":"Update Field","description":"Update a case field.","operationId":"cases-update_field","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"field_id","in":"path","required":true,"schema":{"type":"string","title":"Field Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseFieldUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["cases"],"summary":"Delete Field","description":"Delete a case field.","operationId":"cases-delete_field","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"field_id","in":"path","required":true,"schema":{"type":"string","title":"Field Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/tags":{"get":{"tags":["cases"],"summary":"List Tags","description":"List all tags for a case.","operationId":"cases-list_tags","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaseTagRead"},"title":"Response Cases-List Tags"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["cases"],"summary":"Add Tag","description":"Add a tag to a case using tag ID or slug.","operationId":"cases-add_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTagCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTagRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/tags/{tag_identifier}":{"delete":{"tags":["cases"],"summary":"Remove Tag","description":"Remove a tag from a case using tag ID or ref.","operationId":"cases-remove_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Case Id"}},{"name":"tag_identifier","in":"path","required":true,"schema":{"type":"string","title":"Tag Identifier"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/case-tags":{"get":{"tags":["case-tags"],"summary":"List Case Tags","description":"List all case tags available in the current workspace.","operationId":"case-tags-list_case_tags","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaseTagRead"},"title":"Response Case-Tags-List Case Tags"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["case-tags"],"summary":"Create Case Tag","description":"Create a new case tag definition.","operationId":"case-tags-create_case_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTagRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/case-tags/{tag_id}":{"get":{"tags":["case-tags"],"summary":"Get Case Tag","description":"Retrieve a single case tag by ID.","operationId":"case-tags-get_case_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTagRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["case-tags"],"summary":"Update Case Tag","description":"Update an existing case tag definition.","operationId":"case-tags-update_case_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseTagRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["case-tags"],"summary":"Delete Case Tag","description":"Delete a case tag definition.","operationId":"case-tags-delete_case_tag","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Tag Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/attachments":{"get":{"tags":["case-attachments"],"summary":"List Attachments","description":"List all attachments for a case.","operationId":"case-attachments-list_attachments","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaseAttachmentRead"},"title":"Response Case-Attachments-List Attachments"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["case-attachments"],"summary":"Create Attachment","description":"Upload a new attachment to a case.","operationId":"case-attachments-create_attachment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_case-attachments-create_attachment"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseAttachmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/attachments/{attachment_id}":{"get":{"tags":["case-attachments"],"summary":"Download Attachment","description":"Download an attachment.","operationId":"case-attachments-download_attachment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"attachment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Attachment Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"preview","in":"query","required":false,"schema":{"type":"boolean","description":"If true, allows inline preview for safe image types","default":false,"title":"Preview"},"description":"If true, allows inline preview for safe image types"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseAttachmentDownloadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["case-attachments"],"summary":"Delete Attachment","description":"Delete an attachment (soft delete).","operationId":"case-attachments-delete_attachment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"attachment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Attachment Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/case-dropdowns":{"get":{"tags":["case-dropdowns"],"summary":"List Dropdown Definitions","description":"List all dropdown definitions for the workspace.","operationId":"case-dropdowns-list_dropdown_definitions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaseDropdownDefinitionRead"},"title":"Response Case-Dropdowns-List Dropdown Definitions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["case-dropdowns"],"summary":"Create Dropdown Definition","description":"Create a new dropdown definition with initial options.","operationId":"case-dropdowns-create_dropdown_definition","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDropdownDefinitionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDropdownDefinitionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/case-dropdowns/{definition_id}":{"get":{"tags":["case-dropdowns"],"summary":"Get Dropdown Definition","description":"Get a single dropdown definition.","operationId":"case-dropdowns-get_dropdown_definition","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"definition_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Definition Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDropdownDefinitionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["case-dropdowns"],"summary":"Update Dropdown Definition","description":"Update a dropdown definition.","operationId":"case-dropdowns-update_dropdown_definition","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"definition_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Definition Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDropdownDefinitionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDropdownDefinitionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["case-dropdowns"],"summary":"Delete Dropdown Definition","description":"Delete a dropdown definition and all its options/values.","operationId":"case-dropdowns-delete_dropdown_definition","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"definition_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Definition Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/case-dropdowns/{definition_id}/options":{"post":{"tags":["case-dropdowns"],"summary":"Add Dropdown Option","description":"Add a new option to a dropdown definition.","operationId":"case-dropdowns-add_dropdown_option","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"definition_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Definition Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDropdownOptionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDropdownOptionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/case-dropdowns/{definition_id}/options/{option_id}":{"patch":{"tags":["case-dropdowns"],"summary":"Update Dropdown Option","description":"Update an option within a dropdown definition.","operationId":"case-dropdowns-update_dropdown_option","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"definition_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Definition Id"}},{"name":"option_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Option Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDropdownOptionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDropdownOptionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["case-dropdowns"],"summary":"Delete Dropdown Option","description":"Delete an option from a dropdown definition.","operationId":"case-dropdowns-delete_dropdown_option","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"definition_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Definition Id"}},{"name":"option_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Option Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/case-dropdowns/{definition_id}/options/reorder":{"put":{"tags":["case-dropdowns"],"summary":"Reorder Dropdown Options","description":"Reorder options within a dropdown definition.","operationId":"case-dropdowns-reorder_dropdown_options","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"definition_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Definition Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"},"title":"Option Ids"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/dropdowns":{"get":{"tags":["cases"],"summary":"List Case Dropdown Values","description":"List all dropdown values for a case.","operationId":"cases-list_case_dropdown_values","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaseDropdownValueRead"},"title":"Response Cases-List Case Dropdown Values"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/dropdowns/{definition_id}":{"put":{"tags":["cases"],"summary":"Set Case Dropdown Value","description":"Set or clear a dropdown value for a case.","operationId":"cases-set_case_dropdown_value","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Case Id"}},{"name":"definition_id","in":"path","required":true,"schema":{"type":"string","format":"uuid4","title":"Definition Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDropdownValueSet"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDropdownValueRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/case-durations":{"get":{"tags":["case-durations","case-durations"],"summary":"List Case Duration Definitions","description":"List all case duration definitions for the active workspace.","operationId":"case-durations-list_case_duration_definitions","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaseDurationDefinitionRead"},"title":"Response Case-Durations-List Case Duration Definitions"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["case-durations","case-durations"],"summary":"Create Case Duration Definition","description":"Create a new case duration definition.","operationId":"case-durations-create_case_duration_definition","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDurationDefinitionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDurationDefinitionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/case-durations/{duration_id}":{"get":{"tags":["case-durations","case-durations"],"summary":"Get Case Duration Definition","description":"Retrieve a single case duration definition.","operationId":"case-durations-get_case_duration_definition","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"duration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Duration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDurationDefinitionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["case-durations","case-durations"],"summary":"Update Case Duration Definition","description":"Update an existing case duration definition.","operationId":"case-durations-update_case_duration_definition","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"duration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Duration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDurationDefinitionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDurationDefinitionRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["case-durations","case-durations"],"summary":"Delete Case Duration Definition","description":"Delete a case duration definition.","operationId":"case-durations-delete_case_duration_definition","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"duration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Duration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/durations":{"get":{"tags":["case-durations","case-durations"],"summary":"List Case Durations","description":"List materialized case durations for the provided case.","operationId":"case-durations-list_case_durations","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CaseDurationRead"},"title":"Response Case-Durations-List Case Durations"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["case-durations","case-durations"],"summary":"Create Case Duration","description":"Create a persisted case duration.","operationId":"case-durations-create_case_duration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDurationCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDurationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/cases/{case_id}/durations/{duration_id}":{"get":{"tags":["case-durations","case-durations"],"summary":"Get Case Duration","description":"Retrieve a persisted case duration.","operationId":"case-durations-get_case_duration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"duration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Duration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDurationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["case-durations","case-durations"],"summary":"Update Case Duration","description":"Update a persisted case duration.","operationId":"case-durations-update_case_duration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"duration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Duration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDurationUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseDurationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["case-durations","case-durations"],"summary":"Delete Case Duration","description":"Delete a persisted case duration.","operationId":"case-durations-delete_case_duration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"case_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Case Id"}},{"name":"duration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Duration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/folders/directory":{"get":{"tags":["folders"],"summary":"Get Directory","description":"Get directory items (workflows and folders) in the given path.","operationId":"folders-get_directory","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"path","in":"query","required":false,"schema":{"type":"string","description":"Folder path","default":"/","title":"Path"},"description":"Folder path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/WorkflowDirectoryItem"},{"$ref":"#/components/schemas/FolderDirectoryItem"}],"discriminator":{"propertyName":"type","mapping":{"workflow":"#/components/schemas/WorkflowDirectoryItem","folder":"#/components/schemas/FolderDirectoryItem"}}},"title":"Response Folders-Get Directory"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/folders":{"get":{"tags":["folders"],"summary":"List Folders","description":"List folders under the specified parent path.\n\nIf parent_path is not provided, returns root-level folders.","operationId":"folders-list_folders","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"parent_path","in":"query","required":false,"schema":{"type":"string","description":"Parent folder path","default":"/","title":"Parent Path"},"description":"Parent folder path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowFolderRead"},"title":"Response Folders-List Folders"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["folders"],"summary":"Create Folder","description":"Create a new folder.","operationId":"folders-create_folder","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowFolderCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowFolderRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/folders/{folder_id}":{"get":{"tags":["folders"],"summary":"Get Folder","description":"Get folder details by ID.","operationId":"folders-get_folder","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Folder Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowFolderRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["folders"],"summary":"Update Folder","description":"Update a folder (rename).","operationId":"folders-update_folder","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Folder Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowFolderUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowFolderRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["folders"],"summary":"Delete Folder","description":"Delete a folder.\n\nIf recursive=true, deletes all subfolders and moves the contained workflows to root.\nIf recursive=false (default), fails if the folder contains any subfolders or workflows.","operationId":"folders-delete_folder","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Folder Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowFolderDelete"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/folders/{folder_id}/move":{"post":{"tags":["folders"],"summary":"Move Folder","description":"Move a folder to a new parent folder.","operationId":"folders-move_folder","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Folder Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowFolderMove"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowFolderRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/integrations/callback":{"get":{"tags":["integrations"],"summary":"Oauth Callback","description":"Handle OAuth callback for the specified provider.\n\nValidates the state parameter against the database to ensure it was issued\nby our server and hasn't expired. This prevents CSRF attacks.","operationId":"integrations-oauth_callback","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","description":"Authorization code from OAuth provider","title":"Code"},"description":"Authorization code from OAuth provider"},{"name":"state","in":"query","required":true,"schema":{"type":"string","description":"State parameter from authorization request","title":"State"},"description":"State parameter from authorization request"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationOAuthCallback"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/integrations":{"get":{"tags":["integrations"],"summary":"List Integrations","description":"List all integrations for the current user.","operationId":"integrations-list_integrations","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationReadMinimal"},"title":"Response Integrations-List Integrations"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/integrations/{provider_id}":{"get":{"tags":["integrations"],"summary":"Get Integration","description":"Get integration for the specified provider.","operationId":"integrations-get_integration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","title":"Provider Id"}},{"name":"grant_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OAuthGrantType","default":"authorization_code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["integrations"],"summary":"Delete Integration","description":"Delete integration for the specified provider (removes the integration record completely).","operationId":"integrations-delete_integration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","title":"Provider Id"}},{"name":"grant_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OAuthGrantType","default":"authorization_code"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["integrations"],"summary":"Update Integration","description":"Update OAuth client credentials for the specified provider integration.","operationId":"integrations-update_integration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","title":"Provider Id"}},{"name":"grant_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OAuthGrantType","default":"authorization_code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationUpdate"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/integrations/{provider_id}/connect":{"post":{"tags":["integrations"],"summary":"Connect Provider","description":"Initiate OAuth integration for the specified provider.\n\nCreates a secure state parameter stored in the database to prevent CSRF attacks.\nThe state is validated on the callback to ensure it was issued by our server.","operationId":"integrations-connect_provider","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","title":"Provider Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationOAuthConnect"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/integrations/{provider_id}/disconnect":{"post":{"tags":["integrations"],"summary":"Disconnect Integration","description":"Disconnect integration for the specified provider (revokes tokens but keeps configuration).","operationId":"integrations-disconnect_integration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","title":"Provider Id"}},{"name":"grant_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OAuthGrantType","default":"authorization_code"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/integrations/{provider_id}/test":{"post":{"tags":["integrations"],"summary":"Test Connection","description":"Test client credentials connection for the specified provider.","operationId":"integrations-test_connection","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","title":"Provider Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationTestConnectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/providers":{"post":{"tags":["providers"],"summary":"Create Custom Provider","operationId":"providers-create_custom_provider","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomOAuthProviderCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderReadMinimal"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["providers"],"summary":"List Providers","operationId":"providers-list_providers","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProviderReadMinimal"},"title":"Response Providers-List Providers"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/providers/{provider_id}":{"get":{"tags":["providers"],"summary":"Get Provider","description":"Get provider metadata, scopes, and schema.","operationId":"providers-get_provider","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"provider_id","in":"path","required":true,"schema":{"type":"string","title":"Provider Id"}},{"name":"grant_type","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OAuthGrantType","default":"authorization_code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/mcp-integrations":{"post":{"tags":["mcp-integrations"],"summary":"Create Mcp Integration","description":"Create a new MCP integration.","operationId":"mcp-integrations-create_mcp_integration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPIntegrationCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPIntegrationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["mcp-integrations"],"summary":"List Mcp Integrations","description":"List MCP integrations for the workspace, optionally filtered by source.","operationId":"mcp-integrations-list_mcp_integrations","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"enum":["platform","workspace"],"type":"string"},{"type":"null"}],"description":"Restrict results to platform-managed or workspace-authored MCP integrations. Defaults to all rows.","title":"Source"},"description":"Restrict results to platform-managed or workspace-authored MCP integrations. Defaults to all rows."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MCPIntegrationRead"},"title":"Response Mcp-Integrations-List Mcp Integrations"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/mcp-integrations/catalog":{"get":{"tags":["mcp-integrations"],"summary":"List Platform Mcp Catalog","description":"List platform MCP catalog rows with workspace connection state.","operationId":"mcp-integrations-list_platform_mcp_catalog","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search name, slug, description","title":"Q"},"description":"Search name, slug, description"},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by category","title":"Category"},"description":"Filter by category"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["available","coming_soon","deprecated","hidden"],"type":"string"},{"type":"null"}],"description":"Filter by catalog status","title":"Status"},"description":"Filter by catalog status"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for pagination","title":"Cursor"},"description":"Cursor for pagination"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformMCPCatalogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/mcp-integrations/catalog/{catalog_slug}/connect":{"post":{"tags":["mcp-integrations"],"summary":"Connect Platform Mcp Catalog","description":"Create or return a workspace MCP integration from catalog defaults.","operationId":"mcp-integrations-connect_platform_mcp_catalog","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"catalog_slug","in":"path","required":true,"schema":{"type":"string","title":"Catalog Slug"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/MCPCatalogConnectRequest"},{"type":"null"}],"title":"Params"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPCatalogConnectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/mcp-integrations/connect":{"post":{"tags":["mcp-integrations"],"summary":"Connect Mcp Integration","description":"Create an MCP integration or start generic MCP OAuth discovery.","operationId":"mcp-integrations-connect_mcp_integration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPIntegrationCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPCatalogConnectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/mcp-integrations/{mcp_integration_id}":{"get":{"tags":["mcp-integrations"],"summary":"Get Mcp Integration","description":"Get an MCP integration by ID.","operationId":"mcp-integrations-get_mcp_integration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"mcp_integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Mcp Integration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPIntegrationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["mcp-integrations"],"summary":"Update Mcp Integration","description":"Update an MCP integration.","operationId":"mcp-integrations-update_mcp_integration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"mcp_integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Mcp Integration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPIntegrationUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPIntegrationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["mcp-integrations"],"summary":"Delete Mcp Integration","description":"Delete an MCP integration.","operationId":"mcp-integrations-delete_mcp_integration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"mcp_integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Mcp Integration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/mcp-integrations/{mcp_integration_id}/verification-status":{"get":{"tags":["mcp-integrations"],"summary":"Get Mcp Integration Verification Status","description":"Get saved MCP integration verification status.","operationId":"mcp-integrations-get_mcp_integration_verification_status","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"mcp_integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Mcp Integration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPVerificationStatusRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/mcp-integrations/{mcp_integration_id}/tools":{"patch":{"tags":["mcp-integrations"],"summary":"Update Mcp Integration Tool Policies","description":"Update MCP integration tool availability and approval policy.","operationId":"mcp-integrations-update_mcp_integration_tool_policies","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"mcp_integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Mcp Integration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPToolPolicyUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPIntegrationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/mcp-integrations/test":{"post":{"tags":["mcp-integrations"],"summary":"Test Mcp Connection Config","description":"Test connectivity against an MCP configuration.\n\nHTTP tests are ephemeral and never touch stored verification state. Stdio\ntests require a saved integration ID and use saved-row verification.","operationId":"mcp-integrations-test_mcp_connection_config","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPIntegrationTestConnectionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPIntegrationTestConnectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/mcp-integrations/{mcp_integration_id}/test":{"post":{"tags":["mcp-integrations"],"summary":"Test Mcp Integration Connection","description":"Test connectivity to an MCP server and refresh its tool listing.","operationId":"mcp-integrations-test_mcp_integration_connection","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"mcp_integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Mcp Integration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPIntegrationTestConnectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/mcp-integrations/{mcp_integration_id}/disconnect":{"post":{"tags":["mcp-integrations"],"summary":"Disconnect Mcp Integration","description":"Disconnect an MCP integration by deleting the workspace MCP row.","operationId":"mcp-integrations-disconnect_mcp_integration","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"mcp_integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Mcp Integration Id"}},{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/feature-flags":{"get":{"tags":["feature-flags"],"summary":"Get Feature Flags","description":"Get the list of enabled feature flags.\n\nThis endpoint is public and doesn't require authentication,\nas feature flags are not sensitive information.","operationId":"feature-flags-get_feature_flags","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureFlagsRead"}}}}}}},"/organization/vcs/github/manifest":{"get":{"tags":["vcs","organization","vcs","github","organization"],"summary":"Get Github App Manifest","description":"Generate GitHub App manifest for enterprise installation.","operationId":"vcs-get_github_app_manifest","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitHubAppManifestResponse"}}}}},"security":[{"APIKeyCookie":[]}]}},"/organization/vcs/github/install":{"get":{"tags":["vcs","organization","vcs","github","organization"],"summary":"Github App Install Callback","description":"Handle GitHub App installation flow.\n\nThis endpoint handles two different flows:\n1. Code exchange: When GitHub redirects with a temporary code after manifest submission\n2. Installation callback: When GitHub redirects after app installation","operationId":"vcs-github_app_install_callback","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","description":"Temporary code from GitHub manifest flow","title":"Code"},"description":"Temporary code from GitHub manifest flow"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/vcs/github/webhook":{"post":{"tags":["vcs","organization","vcs","github","organization"],"summary":"Github Webhook","description":"Handle GitHub webhook events.","operationId":"vcs-github_webhook","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Vcs-Github Webhook"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organization/vcs/github/credentials":{"post":{"tags":["vcs","organization","vcs","github","organization"],"summary":"Save Github App Credentials","description":"Save GitHub App credentials (register new or update existing).","operationId":"vcs-save_github_app_credentials","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitHubAppCredentialsRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitHubAppCredentialsSaveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]},"delete":{"tags":["vcs","organization","vcs","github","organization"],"summary":"Delete Github App Credentials","description":"Delete GitHub App credentials.","operationId":"vcs-delete_github_app_credentials","responses":{"204":{"description":"Successful Response"}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]}},"/organization/vcs/github/credentials/status":{"get":{"tags":["vcs","organization","vcs","github","organization"],"summary":"Get Github App Credentials Status","description":"Get the status of GitHub App credentials.","operationId":"vcs-get_github_app_credentials_status","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitHubAppCredentialsStatus"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]}},"/organization/vcs/gitlab/credentials":{"post":{"tags":["vcs","organization","vcs","gitlab","organization"],"summary":"Save Gitlab Token Credentials","description":"Save GitLab token credentials (create if new or update existing).","operationId":"vcs-save_gitlab_token_credentials","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitLabTokenCredentialsRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitLabTokenCredentialsSaveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]},"delete":{"tags":["vcs","organization","vcs","gitlab","organization"],"summary":"Delete Gitlab Token Credentials","description":"Delete GitLab token credentials.","operationId":"vcs-delete_gitlab_token_credentials","responses":{"204":{"description":"Successful Response"}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]}},"/organization/vcs/gitlab/credentials/status":{"get":{"tags":["vcs","organization","vcs","gitlab","organization"],"summary":"Get Gitlab Token Credentials Status","description":"Get the status of GitLab token credentials.","operationId":"vcs-get_gitlab_token_credentials_status","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitLabTokenCredentialsStatus"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]}},"/users/me/scopes":{"get":{"tags":["users"],"summary":"Get My Scopes","description":"Get the current user's effective scopes.\n\nScopes are computed from DB-driven role assignments during auth\n(UserRoleAssignment + GroupRoleAssignment → Role → RoleScope → Scope).","operationId":"users-get_my_scopes","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserScopesRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/roles":{"get":{"tags":["rbac"],"summary":"List Roles","description":"List roles for the organization.\n\nRequires: authenticated organization member.","operationId":"rbac-list_roles","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleList"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]},"post":{"tags":["rbac"],"summary":"Create Role","description":"Create a custom role.\n\nRequires: org:rbac:create scope","operationId":"rbac-create_role","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleReadWithScopes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]}},"/rbac/user-assignments":{"get":{"tags":["rbac"],"summary":"List User Assignments","description":"List user role assignments for the organization.","operationId":"rbac-list_user_assignments","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by user ID","title":"User Id"},"description":"Filter by user ID"},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by workspace ID","title":"Workspace Id"},"description":"Filter by workspace ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleAssignmentList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["rbac"],"summary":"Create User Assignment","description":"Create a user role assignment.\n\nAssigns a role directly to a user. If workspace_id is None, creates an org-wide\nassignment that applies to all workspaces. Each user can have at most\none assignment per workspace (or one org-wide assignment).\n\nRequires: org:rbac:create scope","operationId":"rbac-create_user_assignment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleAssignmentCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleAssignmentReadWithDetails"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/user-assignments/{assignment_id}":{"get":{"tags":["rbac"],"summary":"Get User Assignment","description":"Get a user role assignment by ID.","operationId":"rbac-get_user_assignment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"assignment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Assignment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleAssignmentReadWithDetails"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["rbac"],"summary":"Update User Assignment","description":"Update a user role assignment (change role).\n\nRequires: org:rbac:update scope","operationId":"rbac-update_user_assignment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"assignment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Assignment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleAssignmentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleAssignmentReadWithDetails"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["rbac"],"summary":"Delete User Assignment","description":"Delete a user role assignment.\n\nRequires: org:rbac:delete scope","operationId":"rbac-delete_user_assignment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"assignment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Assignment Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/scopes":{"get":{"tags":["rbac"],"summary":"List Scopes","description":"List scopes available to the organization.\n\nRequires: org:rbac:read scope","operationId":"rbac-list_scopes","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"include_system","in":"query","required":false,"schema":{"type":"boolean","description":"Include system/registry scopes","default":true,"title":"Include System"},"description":"Include system/registry scopes"},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ScopeSource"},{"type":"null"}],"description":"Filter by scope source","title":"Source"},"description":"Filter by scope source"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopeList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["rbac"],"summary":"Create Scope","description":"Create a custom scope.\n\nRequires: org:rbac:create scope","operationId":"rbac-create_scope","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopeCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/scopes/{scope_id}":{"get":{"tags":["rbac"],"summary":"Get Scope","description":"Get a scope by ID.\n\nRequires: org:rbac:read scope","operationId":"rbac-get_scope","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"scope_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Scope Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopeRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["rbac"],"summary":"Delete Scope","description":"Delete a custom scope.\n\nOnly custom scopes can be deleted. System and registry scopes are protected.\n\nRequires: org:rbac:delete scope","operationId":"rbac-delete_scope","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"scope_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Scope Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/roles/{role_id}":{"get":{"tags":["rbac"],"summary":"Get Role","description":"Get a role by ID with its scopes.\n\nRequires: org:rbac:read scope","operationId":"rbac-get_role","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Role Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleReadWithScopes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["rbac"],"summary":"Update Role","description":"Update a role.\n\nRequires: org:rbac:update scope","operationId":"rbac-update_role","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Role Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleReadWithScopes"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["rbac"],"summary":"Delete Role","description":"Delete a role.\n\nRoles with active assignments must have all assignments removed first.\n\nRequires: org:rbac:delete scope","operationId":"rbac-delete_role","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Role Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/groups":{"get":{"tags":["rbac"],"summary":"List Groups","description":"List groups for the organization.\n\nRequires: org:rbac:read scope","operationId":"rbac-list_groups","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupList"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]},"post":{"tags":["rbac"],"summary":"Create Group","description":"Create a group.\n\nRequires: org:rbac:create scope","operationId":"rbac-create_group","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupReadWithMembers"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}]}},"/rbac/groups/{group_id}":{"get":{"tags":["rbac"],"summary":"Get Group","description":"Get a group by ID with its members.\n\nRequires: org:rbac:read scope","operationId":"rbac-get_group","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupReadWithMembers"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["rbac"],"summary":"Update Group","description":"Update a group.\n\nRequires: org:rbac:update scope","operationId":"rbac-update_group","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"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/GroupUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupReadWithMembers"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["rbac"],"summary":"Delete Group","description":"Delete a group.\n\nThis will also delete all group assignments and memberships.\n\nRequires: org:rbac:delete scope","operationId":"rbac-delete_group","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/groups/{group_id}/members":{"post":{"tags":["rbac"],"summary":"Add Group Member","description":"Add a member to a group.\n\nRequires: org:rbac:update scope","operationId":"rbac-add_group_member","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"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/GroupMemberAdd"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Rbac-Add Group Member"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/groups/{group_id}/members/{user_id}":{"delete":{"tags":["rbac"],"summary":"Remove Group Member","description":"Remove a member from a group.\n\nRequires: org:rbac:update scope","operationId":"rbac-remove_group_member","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"group_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Group Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/assignments":{"get":{"tags":["rbac"],"summary":"List Assignments","description":"List group assignments for the organization.\n\nRequires: org:rbac:read scope","operationId":"rbac-list_assignments","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"group_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by group ID","title":"Group Id"},"description":"Filter by group ID"},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Filter by workspace ID","title":"Workspace Id"},"description":"Filter by workspace ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRoleAssignmentList"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["rbac"],"summary":"Create Assignment","description":"Create a group assignment.\n\nAssigns a role to a group. If workspace_id is None, creates an org-wide\nassignment that applies to all workspaces. Each group can have at most\none assignment per workspace (or one org-wide assignment).\n\nRequires: org:rbac:create scope","operationId":"rbac-create_assignment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRoleAssignmentCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRoleAssignmentReadWithDetails"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/assignments/{assignment_id}":{"get":{"tags":["rbac"],"summary":"Get Assignment","description":"Get a group assignment by ID.\n\nRequires: org:rbac:read scope","operationId":"rbac-get_assignment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"assignment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Assignment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRoleAssignmentReadWithDetails"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["rbac"],"summary":"Update Assignment","description":"Update a group assignment (change role).\n\nRequires: org:rbac:update scope","operationId":"rbac-update_assignment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"assignment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Assignment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRoleAssignmentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRoleAssignmentReadWithDetails"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["rbac"],"summary":"Delete Assignment","description":"Delete a group assignment.\n\nRequires: org:rbac:delete scope","operationId":"rbac-delete_assignment","security":[{"APIKeyCookie":[]},{"ServiceAccountApiKeyBearer":[]}],"parameters":[{"name":"assignment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Assignment Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/me":{"get":{"tags":["users"],"summary":"Users:Current User","operationId":"users-users:current_user","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"401":{"description":"Missing token or inactive user."}},"security":[{"APIKeyCookie":[]}]},"patch":{"tags":["users"],"summary":"Users:Patch Current User","operationId":"users-users:patch_current_user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"401":{"description":"Missing token or inactive user."},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorModel"},"examples":{"UPDATE_USER_EMAIL_ALREADY_EXISTS":{"summary":"A user with this email already exists.","value":{"detail":"UPDATE_USER_EMAIL_ALREADY_EXISTS"}},"UPDATE_USER_INVALID_PASSWORD":{"summary":"Password validation failed.","value":{"detail":{"code":"UPDATE_USER_INVALID_PASSWORD","reason":"Password should beat least 3 characters"}}}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]}]}},"/users/{id}":{"get":{"tags":["users"],"summary":"Users:User","operationId":"users-users:user","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"401":{"description":"Missing token or inactive user."},"403":{"description":"Not a superuser."},"404":{"description":"The user does not exist."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["users"],"summary":"Users:Patch User","operationId":"users-users:patch_user","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"401":{"description":"Missing token or inactive user."},"403":{"description":"Not a superuser."},"404":{"description":"The user does not exist."},"400":{"content":{"application/json":{"examples":{"UPDATE_USER_EMAIL_ALREADY_EXISTS":{"summary":"A user with this email already exists.","value":{"detail":"UPDATE_USER_EMAIL_ALREADY_EXISTS"}},"UPDATE_USER_INVALID_PASSWORD":{"summary":"Password validation failed.","value":{"detail":{"code":"UPDATE_USER_INVALID_PASSWORD","reason":"Password should beat least 3 characters"}}}},"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["users"],"summary":"Users:Delete User","operationId":"users-users:delete_user","security":[{"APIKeyCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"204":{"description":"Successful Response"},"401":{"description":"Missing token or inactive user."},"403":{"description":"Not a superuser."},"404":{"description":"The user does not exist."},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/oauth/authorize":{"get":{"tags":["auth"],"summary":"Oauth:Oidc.Database.Authorize","operationId":"auth-oauth:oidc.database.authorize","parameters":[{"name":"scopes","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"title":"Scopes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuth2AuthorizeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/oauth/callback":{"get":{"tags":["auth"],"summary":"Oauth:Oidc.Database.Callback","description":"The response varies based on the authentication backend used.","operationId":"auth-oauth:oidc.database.callback","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"code_verifier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code Verifier"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"400":{"content":{"application/json":{"examples":{"INVALID_STATE_TOKEN":{"summary":"Invalid state token."},"LOGIN_BAD_CREDENTIALS":{"summary":"User is inactive.","value":{"detail":"LOGIN_BAD_CREDENTIALS"}},"ACCESS_TOKEN_DECODE_ERROR":{"summary":"Access token is error.","value":{"detail":"ACCESS_TOKEN_DECODE_ERROR"}},"ACCESS_TOKEN_ALREADY_EXPIRED":{"summary":"Access token is already expired.","value":{"detail":"ACCESS_TOKEN_ALREADY_EXPIRED"}}},"schema":{"$ref":"#/components/schemas/ErrorModel"}}},"description":"Bad Request"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/saml/login":{"get":{"tags":["auth"],"summary":"Saml:Database.Login","description":"Initiate SAML login flow","operationId":"auth-saml:database.login","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SAMLDatabaseLoginResponse"}}}}}}},"/auth/saml/acs":{"post":{"tags":["auth"],"summary":"Sso Acs","description":"Handle the SAML SSO response from the IdP post-authentication.","operationId":"auth-sso_acs","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_auth-sso_acs"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyCookie":[]},{"APIKeyHeader":[]}]}},"/auth/discover":{"post":{"tags":["auth"],"summary":"Discover Auth Method","description":"Return the next-step auth method for a given email.","operationId":"auth-discover_auth_method","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthDiscoverRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthDiscoverResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/logout":{"post":{"tags":["auth"],"summary":"Auth:Database.Logout","operationId":"auth-auth:database.logout","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"401":{"description":"Missing token or inactive user."},"204":{"description":"No Content"}},"security":[{"APIKeyCookie":[]}]}},"/health":{"get":{"tags":["public"],"summary":"Check Health","operationId":"public-check_health","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}}},"components":{"schemas":{"ActionChange":{"properties":{"action_name":{"type":"string","title":"Action Name"},"change_type":{"type":"string","enum":["added","removed","modified"],"title":"Change Type"},"interface_changes":{"items":{"$ref":"#/components/schemas/ActionInterfaceChange"},"type":"array","title":"Interface Changes"},"description_changed":{"type":"boolean","title":"Description Changed","default":false}},"type":"object","required":["action_name","change_type"],"title":"ActionChange","description":"Describes a change to an action between two versions."},"ActionControlFlow":{"properties":{"run_if":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Run If"},"for_each":{"anyOf":[{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"}],"maxLength":1000},{"type":"null"}],"title":"For Each"},"join_strategy":{"$ref":"#/components/schemas/JoinStrategy","default":"all"},"retry_policy":{"$ref":"#/components/schemas/ActionRetryPolicy"},"start_delay":{"type":"number","title":"Start Delay","description":"Delay before starting the action in seconds. If `wait_until` is also provided, the `wait_until` timer will take precedence.","default":0.0},"wait_until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wait Until","description":"Wait until a specific date and time before starting. Overrides `start_delay` if both are provided."},"environment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Environment","description":"Override environment for this action's execution"},"mask_output":{"type":"boolean","title":"Mask Output","description":"If true, redact this action's result in workflow execution API responses while preserving internal workflow data flow between actions.","default":false}},"type":"object","title":"ActionControlFlow"},"ActionCreate":{"properties":{"workflow_id":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"},"type":{"type":"string","title":"Type"},"title":{"type":"string","maxLength":100,"minLength":1,"title":"Title"},"description":{"type":"string","maxLength":1000,"title":"Description","default":""},"inputs":{"type":"string","maxLength":300000,"title":"Inputs","default":""},"control_flow":{"anyOf":[{"$ref":"#/components/schemas/ActionControlFlow"},{"type":"null"}],"mode":"json"},"is_interactive":{"type":"boolean","title":"Is Interactive","default":false},"interaction":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/ResponseInteraction"},{"$ref":"#/components/schemas/ApprovalInteraction"}],"description":"An interaction configuration","discriminator":{"propertyName":"type","mapping":{"approval":"#/components/schemas/ApprovalInteraction","response":"#/components/schemas/ResponseInteraction"}}},{"type":"null"}],"title":"Interaction"},"position_x":{"type":"number","title":"Position X","default":0.0},"position_y":{"type":"number","title":"Position Y","default":0.0},"upstream_edges":{"items":{"$ref":"#/components/schemas/ActionEdge"},"type":"array","title":"Upstream Edges"}},"type":"object","required":["workflow_id","type","title"],"title":"ActionCreate"},"ActionEdge":{"properties":{"source_id":{"type":"string","title":"Source Id"},"source_type":{"type":"string","enum":["trigger","udf"],"title":"Source Type"},"source_handle":{"type":"string","enum":["success","error"],"title":"Source Handle"}},"type":"object","required":["source_id","source_type"],"title":"ActionEdge","description":"Represents an incoming edge to an action.\n\nStored in Action.upstream_edges to represent incoming connections."},"ActionInterfaceChange":{"properties":{"field":{"type":"string","enum":["expects","returns"],"title":"Field"},"change_type":{"type":"string","enum":["added","removed","modified"],"title":"Change Type"},"old_value":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Old Value"},"new_value":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"New Value"}},"type":"object","required":["field","change_type"],"title":"ActionInterfaceChange","description":"Describes a change to an action's interface (expects or returns)."},"ActionPositionUpdate":{"properties":{"action_id":{"type":"string","format":"uuid","title":"Action Id"},"position":{"$ref":"#/components/schemas/Position"}},"type":"object","required":["action_id","position"],"title":"ActionPositionUpdate","description":"Position update for a single action."},"ActionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"type":"string","title":"Type"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"status":{"type":"string","title":"Status"},"inputs":{"type":"string","title":"Inputs"},"control_flow":{"$ref":"#/components/schemas/ActionControlFlow"},"is_interactive":{"type":"boolean","title":"Is Interactive"},"interaction":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/ResponseInteraction"},{"$ref":"#/components/schemas/ApprovalInteraction"}],"description":"An interaction configuration","discriminator":{"propertyName":"type","mapping":{"approval":"#/components/schemas/ApprovalInteraction","response":"#/components/schemas/ResponseInteraction"}}},{"type":"null"}],"title":"Interaction"},"position_x":{"type":"number","title":"Position X","default":0.0},"position_y":{"type":"number","title":"Position Y","default":0.0},"upstream_edges":{"items":{"$ref":"#/components/schemas/ActionEdge"},"type":"array","title":"Upstream Edges"},"ref":{"type":"string","title":"Ref","readOnly":true}},"type":"object","required":["id","type","title","description","status","inputs","is_interactive","ref"],"title":"ActionRead"},"ActionReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workflow_id":{"type":"string","pattern":"wf_[0-9a-zA-Z]+","title":"Workflow Id"},"type":{"type":"string","title":"Type"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"status":{"type":"string","title":"Status"},"is_interactive":{"type":"boolean","title":"Is Interactive"}},"type":"object","required":["id","workflow_id","type","title","description","status","is_interactive"],"title":"ActionReadMinimal"},"ActionRetryPolicy":{"properties":{"max_attempts":{"type":"integer","title":"Max Attempts","description":"Total number of execution attempts. 0 means unlimited, 1 means no retries.","default":1},"timeout":{"type":"integer","title":"Timeout","description":"Timeout for the action in seconds. Agent-backed AI actions clamp to the deployment's agent timeout bounds (see ActionStatement).","default":300},"retry_until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Retry Until","description":"Retry until a specific condition is met."}},"type":"object","title":"ActionRetryPolicy"},"ActionStatement":{"properties":{"ref":{"type":"string","pattern":"^[a-z0-9_]+$","title":"Ref","description":"Unique reference for the task"},"description":{"type":"string","title":"Description","default":""},"action":{"type":"string","pattern":"^[a-z0-9_.]+$","title":"Action","description":"Action type. Equivalent to the UDF key."},"args":{"additionalProperties":true,"type":"object","title":"Args","description":"Arguments for the action"},"depends_on":{"items":{"type":"string"},"type":"array","title":"Depends On","description":"Task dependencies"},"interaction":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/ResponseInteraction"},{"$ref":"#/components/schemas/ApprovalInteraction"}],"description":"An interaction configuration","discriminator":{"propertyName":"type","mapping":{"approval":"#/components/schemas/ApprovalInteraction","response":"#/components/schemas/ResponseInteraction"}}},{"type":"null"}],"title":"Interaction","description":"Whether the action is interactive."},"run_if":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Run If","description":"Condition to run the task"},"for_each":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"For Each","description":"Iterate over a list of items and run the task for each item."},"retry_policy":{"$ref":"#/components/schemas/ActionRetryPolicy","description":"Retry policy for the action."},"start_delay":{"type":"number","title":"Start Delay","description":"Delay before starting the action in seconds. If `wait_until` is also provided, the `wait_until` timer will take precedence.","default":0.0},"wait_until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wait Until","description":"Wait until a specific date and time before starting. Overrides `start_delay` if both are provided."},"join_strategy":{"$ref":"#/components/schemas/JoinStrategy","description":"The strategy to use when joining on this task. By default, all branches must complete successfully before the join task can complete.","default":"all"},"environment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Environment","description":"Override environment for this action's execution. Can be a template expression."},"mask_output":{"type":"boolean","title":"Mask Output","description":"If true, redact this action's result in workflow execution API responses while preserving internal workflow data flow between actions.","default":false}},"type":"object","required":["ref","action"],"title":"ActionStatement"},"ActionStep":{"properties":{"ref":{"type":"string","title":"Ref","description":"The reference of the step"},"action":{"type":"string","title":"Action"},"args":{"additionalProperties":true,"type":"object","title":"Args"}},"type":"object","required":["ref","action","args"],"title":"ActionStep"},"ActionType":{"properties":{"component_id":{"type":"string","const":"action-type","title":"Component Id","default":"action-type"},"multiple":{"type":"boolean","title":"Multiple","default":false}},"type":"object","title":"ActionType"},"ActionUpdate":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"inputs":{"type":"string","maxLength":300000,"title":"Inputs","default":""},"control_flow":{"anyOf":[{"$ref":"#/components/schemas/ActionControlFlow"},{"type":"null"}],"mode":"json"},"is_interactive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Interactive"},"interaction":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/ResponseInteraction"},{"$ref":"#/components/schemas/ApprovalInteraction"}],"description":"An interaction configuration","discriminator":{"propertyName":"type","mapping":{"approval":"#/components/schemas/ApprovalInteraction","response":"#/components/schemas/ResponseInteraction"}}},{"type":"null"}],"title":"Interaction"},"position_x":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Position X"},"position_y":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Position Y"},"upstream_edges":{"anyOf":[{"items":{"$ref":"#/components/schemas/ActionEdge"},"type":"array"},{"type":"null"}],"title":"Upstream Edges"}},"type":"object","title":"ActionUpdate"},"ActionValidationResult":{"properties":{"type":{"type":"string","const":"action","title":"Type","default":"action"},"status":{"type":"string","enum":["success","error"],"title":"Status"},"msg":{"type":"string","title":"Msg","default":""},"detail":{"anyOf":[{"items":{"$ref":"#/components/schemas/ValidationDetail"},"type":"array"},{"type":"null"}],"title":"Detail"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"action_type":{"type":"string","title":"Action Type"},"validated_args":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Validated Args"}},"type":"object","required":["status","action_type"],"title":"ActionValidationResult","description":"Result of validating a registry action's arguments."},"AdminOrgInvitationCreate":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"role_slug":{"type":"string","enum":["organization-owner","organization-admin","organization-member"],"title":"Role Slug","default":"organization-owner"}},"type":"object","required":["email"],"title":"AdminOrgInvitationCreate","description":"Create an organization invitation from the platform admin console."},"AdminOrgInvitationCreateResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"email":{"type":"string","format":"email","title":"Email"},"role_id":{"type":"string","format":"uuid","title":"Role Id"},"role_name":{"type":"string","title":"Role Name"},"role_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Slug"},"status":{"$ref":"#/components/schemas/InvitationStatus"},"invited_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invited By"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted At"},"created_by_platform_admin":{"type":"boolean","title":"Created By Platform Admin"},"token":{"type":"string","title":"Token"}},"type":"object","required":["id","organization_id","email","role_id","role_name","status","invited_by","expires_at","created_at","accepted_at","created_by_platform_admin","token"],"title":"AdminOrgInvitationCreateResponse","description":"Create response containing the raw invitation token."},"AdminOrgInvitationRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"email":{"type":"string","format":"email","title":"Email"},"role_id":{"type":"string","format":"uuid","title":"Role Id"},"role_name":{"type":"string","title":"Role Name"},"role_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Slug"},"status":{"$ref":"#/components/schemas/InvitationStatus"},"invited_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invited By"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted At"},"created_by_platform_admin":{"type":"boolean","title":"Created By Platform Admin"}},"type":"object","required":["id","organization_id","email","role_id","role_name","status","invited_by","expires_at","created_at","accepted_at","created_by_platform_admin"],"title":"AdminOrgInvitationRead","description":"Platform-created organization invitation response."},"AdminOrgInvitationTokenRead":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"AdminOrgInvitationTokenRead","description":"Raw invitation token response."},"AdminUserCreate":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"is_superuser":{"type":"boolean","title":"Is Superuser","default":false}},"type":"object","required":["email","password"],"title":"AdminUserCreate","description":"Create a user from the platform admin control plane."},"AdminUserRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","format":"email","title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"role":{"$ref":"#/components/schemas/UserRole"},"is_active":{"type":"boolean","title":"Is Active"},"is_superuser":{"type":"boolean","title":"Is Superuser"},"is_verified":{"type":"boolean","title":"Is Verified"},"last_login_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Login At"}},"type":"object","required":["id","email","role","is_active","is_superuser","is_verified"],"title":"AdminUserRead","description":"Admin view of a user."},"AgentArtifact":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"scope":{"anyOf":[{"$ref":"#/components/schemas/ArtifactScope"},{"type":"null"}]},"type":{"type":"string","const":"agent","title":"Type","default":"agent"}},"additionalProperties":false,"type":"object","required":["id","title"],"title":"AgentArtifact","description":"Agent preset artifact shown in artifact-capable chat surfaces."},"AgentCatalogListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AgentCatalogRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["items"],"title":"AgentCatalogListResponse","description":"List catalog entries with pagination."},"AgentCatalogRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"custom_provider_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Custom Provider Id"},"organization_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organization Id"},"model_provider":{"type":"string","title":"Model Provider"},"model_name":{"type":"string","title":"Model Name"},"model_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Model Metadata"}},"type":"object","required":["id","custom_provider_id","organization_id","model_provider","model_name","model_metadata"],"title":"AgentCatalogRead","description":"Single catalog model entry."},"AgentChannelTokenCreate":{"properties":{"agent_preset_id":{"type":"string","format":"uuid","title":"Agent Preset Id","description":"Preset to link this channel token to"},"channel_type":{"$ref":"#/components/schemas/ChannelType","description":"External channel type"},"config":{"$ref":"#/components/schemas/SlackChannelTokenConfig","description":"Channel-specific configuration payload"},"is_active":{"type":"boolean","title":"Is Active","description":"Whether this token is active","default":true}},"type":"object","required":["agent_preset_id","channel_type","config"],"title":"AgentChannelTokenCreate","description":"Request schema for creating an external channel token."},"AgentChannelTokenRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"agent_preset_id":{"type":"string","format":"uuid","title":"Agent Preset Id"},"channel_type":{"$ref":"#/components/schemas/ChannelType"},"config":{"$ref":"#/components/schemas/SlackChannelTokenConfig"},"is_active":{"type":"boolean","title":"Is Active"},"public_token":{"type":"string","title":"Public Token"},"endpoint_url":{"type":"string","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","workspace_id","agent_preset_id","channel_type","config","is_active","public_token","endpoint_url","created_at","updated_at"],"title":"AgentChannelTokenRead","description":"Response schema for an external channel token."},"AgentChannelTokenUpdate":{"properties":{"config":{"anyOf":[{"$ref":"#/components/schemas/SlackChannelTokenConfig"},{"type":"null"}],"description":"Updated channel configuration payload"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","description":"Activation state"}},"type":"object","title":"AgentChannelTokenUpdate","description":"Request schema for updating an external channel token."},"AgentCustomProviderCreate":{"properties":{"display_name":{"type":"string","maxLength":200,"title":"Display Name"},"base_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Base Url"},"passthrough":{"type":"boolean","title":"Passthrough","default":false},"api_key_header":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Api Key Header"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"custom_headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Custom Headers"}},"type":"object","required":["display_name"],"title":"AgentCustomProviderCreate","description":"Create custom LLM provider."},"AgentCustomProviderListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AgentCustomProviderRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["items"],"title":"AgentCustomProviderListResponse","description":"List response with pagination."},"AgentCustomProviderRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"display_name":{"type":"string","title":"Display Name"},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Url"},"passthrough":{"type":"boolean","title":"Passthrough"},"api_key_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key Header"},"last_refreshed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Refreshed At"}},"type":"object","required":["id","organization_id","display_name","base_url","passthrough","api_key_header","last_refreshed_at"],"title":"AgentCustomProviderRead","description":"Read custom provider."},"AgentCustomProviderUpdate":{"properties":{"display_name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Display Name"},"base_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Base Url"},"passthrough":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Passthrough"},"api_key_header":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Api Key Header"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"custom_headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Custom Headers"}},"type":"object","title":"AgentCustomProviderUpdate","description":"Update custom provider."},"AgentFolderCreate":{"properties":{"name":{"type":"string","title":"Name"},"parent_path":{"type":"string","title":"Parent Path","default":"/"}},"type":"object","required":["name"],"title":"AgentFolderCreate"},"AgentFolderDelete":{"properties":{"recursive":{"type":"boolean","title":"Recursive","default":false}},"type":"object","title":"AgentFolderDelete"},"AgentFolderDirectoryItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"path":{"type":"string","title":"Path"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"type":{"type":"string","const":"folder","title":"Type"},"num_items":{"type":"integer","title":"Num Items"}},"type":"object","required":["id","name","path","workspace_id","created_at","updated_at","type","num_items"],"title":"AgentFolderDirectoryItem"},"AgentFolderMove":{"properties":{"new_parent_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Parent Path"}},"type":"object","title":"AgentFolderMove"},"AgentFolderRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"path":{"type":"string","title":"Path"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"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","path","workspace_id","created_at","updated_at"],"title":"AgentFolderRead"},"AgentFolderUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","title":"AgentFolderUpdate"},"AgentModel":{"properties":{"component_id":{"type":"string","const":"agent-model","title":"Component Id","default":"agent-model"}},"type":"object","title":"AgentModel"},"AgentModelAccessCreate":{"properties":{"catalog_id":{"type":"string","format":"uuid","title":"Catalog Id"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}},"type":"object","required":["catalog_id"],"title":"AgentModelAccessCreate","description":"Enable a model for org or workspace."},"AgentModelAccessListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AgentModelAccessRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["items"],"title":"AgentModelAccessListResponse","description":"List accessible models with pagination."},"AgentModelAccessRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"},"catalog_id":{"type":"string","format":"uuid","title":"Catalog Id"}},"type":"object","required":["id","organization_id","workspace_id","catalog_id"],"title":"AgentModelAccessRead","description":"Model access entry."},"AgentOtelConfig":{"properties":{"enabled":{"type":"boolean","title":"Enabled","description":"Whether Claude Code telemetry is enabled for agent runs.","default":false},"endpoint":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Endpoint","description":"OTLP collector endpoint for all signals."},"metrics_enabled":{"type":"boolean","title":"Metrics Enabled","description":"Whether metrics are exported.","default":true},"logs_enabled":{"type":"boolean","title":"Logs Enabled","description":"Whether logs and events are exported.","default":true},"traces_enabled":{"type":"boolean","title":"Traces Enabled","description":"Whether traces are exported. Enables Claude Code beta tracing.","default":false},"metrics_temporality":{"anyOf":[{"type":"string","enum":["delta","cumulative"]},{"type":"null"}],"title":"Metrics Temporality","description":"Metrics aggregation temporality."},"metric_export_interval_ms":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Metric Export Interval Ms","description":"Metrics export interval in milliseconds."},"logs_export_interval_ms":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Logs Export Interval Ms","description":"Logs export interval in milliseconds."},"metrics_include_session_id":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Metrics Include Session Id","description":"Whether metrics include the Claude Code session identifier."},"metrics_include_version":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Metrics Include Version","description":"Whether metrics include the Claude Code version."},"metrics_include_account_uuid":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Metrics Include Account Uuid","description":"Whether metrics include the authenticated account identifier."},"log_user_prompts":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Log User Prompts","description":"Whether telemetry includes user prompt content."},"log_tool_details":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Log Tool Details","description":"Whether telemetry includes tool parameters and input arguments."},"log_tool_content":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Log Tool Content","description":"Whether telemetry includes tool input and output content."},"resource_attributes":{"additionalProperties":{"type":"string"},"type":"object","title":"Resource Attributes","description":"Resource attributes attached to exported telemetry."}},"additionalProperties":false,"type":"object","title":"AgentOtelConfig","description":"Organization-scoped Claude Code OTel configuration.\n\nSee https://code.claude.com/docs/en/monitoring-usage for the env vars\nthese fields map onto."},"AgentOtelSettingsRead":{"properties":{"agent_otel_config":{"$ref":"#/components/schemas/AgentOtelConfig"}},"type":"object","title":"AgentOtelSettingsRead"},"AgentOtelSettingsUpdate":{"properties":{"agent_otel_config":{"$ref":"#/components/schemas/AgentOtelConfig","description":"Claude Code OTel telemetry configuration for agent runs."},"agent_otel_headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Agent Otel Headers","description":"Encrypted headers for the Claude Code OTLP exporter. Omitted values leave existing headers unchanged."}},"type":"object","title":"AgentOtelSettingsUpdate"},"AgentOutput":{"properties":{"output":{"title":"Output"},"message_history":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatMessage"},"type":"array"},{"type":"null"}],"title":"Message History"},"duration":{"type":"number","title":"Duration"},"usage":{"anyOf":[{"$ref":"#/components/schemas/RunUsage"},{"type":"null"}]},"session_id":{"type":"string","format":"uuid","title":"Session Id"}},"type":"object","required":["output","duration","session_id"],"title":"AgentOutput"},"AgentPreset":{"properties":{"component_id":{"type":"string","const":"agent-preset","title":"Component Id","default":"agent-preset"}},"type":"object","title":"AgentPreset"},"AgentPresetCapability":{"type":"string","enum":["approvals","subagents","internet_access"]},"AgentPresetCreate":{"properties":{"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instructions"},"model_name":{"type":"string","maxLength":120,"minLength":1,"title":"Model Name"},"model_provider":{"type":"string","maxLength":120,"minLength":1,"title":"Model Provider"},"catalog_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Catalog Id"},"base_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Base Url"},"output_type":{"anyOf":[{"$ref":"#/components/schemas/OutputType"},{"type":"null"}]},"actions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Actions"},"namespaces":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Namespaces"},"tool_approvals":{"anyOf":[{"additionalProperties":{"type":"boolean"},"type":"object"},{"type":"null"}],"title":"Tool Approvals"},"mcp_integrations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mcp Integrations"},"agents":{"$ref":"#/components/schemas/AgentSubagentsConfig-Input"},"retries":{"type":"integer","minimum":0.0,"title":"Retries","default":3},"enable_thinking":{"type":"boolean","title":"Enable Thinking","default":true},"enable_internet_access":{"type":"boolean","title":"Enable Internet Access","default":false},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"skills":{"anyOf":[{"items":{"$ref":"#/components/schemas/AgentPresetSkillBindingBase"},"type":"array"},{"type":"null"}],"title":"Skills"},"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"slug":{"anyOf":[{"type":"string","maxLength":160,"minLength":1},{"type":"null"}],"title":"Slug"}},"type":"object","required":["model_name","model_provider","name"],"title":"AgentPresetCreate","description":"Payload for creating a new agent preset."},"AgentPresetDirectoryItem":{"properties":{"type":{"type":"string","const":"preset","title":"Type"},"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"model_provider":{"type":"string","title":"Model Provider"},"model_name":{"type":"string","title":"Model Name"},"folder_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Folder Id"},"tags":{"items":{"$ref":"#/components/schemas/TagRead"},"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":["type","id","name","slug","description","model_provider","model_name","folder_id","tags","created_at","updated_at"],"title":"AgentPresetDirectoryItem","description":"Agent preset as a directory item."},"AgentPresetMoveToFolder":{"properties":{"folder_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder Path"}},"type":"object","title":"AgentPresetMoveToFolder","description":"Payload for moving an agent preset to a folder."},"AgentPresetRead":{"properties":{"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instructions"},"model_name":{"type":"string","maxLength":120,"title":"Model Name"},"model_provider":{"type":"string","maxLength":120,"title":"Model Provider"},"catalog_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Catalog Id"},"base_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Base Url"},"output_type":{"anyOf":[{"$ref":"#/components/schemas/OutputType"},{"type":"null"}]},"actions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Actions"},"namespaces":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Namespaces"},"tool_approvals":{"anyOf":[{"additionalProperties":{"type":"boolean"},"type":"object"},{"type":"null"}],"title":"Tool Approvals"},"mcp_integrations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mcp Integrations"},"agents":{"$ref":"#/components/schemas/AgentSubagentsConfig-Output"},"retries":{"type":"integer","minimum":0.0,"title":"Retries","default":3},"enable_thinking":{"type":"boolean","title":"Enable Thinking","default":true},"enable_internet_access":{"type":"boolean","title":"Enable Internet Access","default":false},"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"current_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Current Version Id"},"folder_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Folder Id"},"skills":{"items":{"$ref":"#/components/schemas/AgentPresetSkillBindingRead"},"type":"array","title":"Skills"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["model_name","model_provider","id","workspace_id","name","slug","created_at","updated_at"],"title":"AgentPresetRead","description":"API model for reading agent presets."},"AgentPresetReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"model_provider":{"type":"string","title":"Model Provider"},"model_name":{"type":"string","title":"Model Name"},"folder_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Folder Id"},"tags":{"items":{"$ref":"#/components/schemas/TagRead"},"type":"array","title":"Tags"},"current_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Current Version Id"},"capabilities":{"items":{"$ref":"#/components/schemas/AgentPresetCapability"},"type":"array","title":"Capabilities"},"current_version_subagent_eligibility":{"$ref":"#/components/schemas/AgentPresetSubagentEligibility"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","workspace_id","name","slug","description","model_provider","model_name","created_at","updated_at"],"title":"AgentPresetReadMinimal","description":"Minimal API model for reading agent presets in list endpoints."},"AgentPresetSkillBindingBase":{"properties":{"skill_id":{"type":"string","format":"uuid","title":"Skill Id"}},"type":"object","required":["skill_id"],"title":"AgentPresetSkillBindingBase","description":"Shared fields for preset skill bindings."},"AgentPresetSkillBindingChange":{"properties":{"skill_id":{"type":"string","format":"uuid","title":"Skill Id"},"skill_name":{"type":"string","title":"Skill Name"},"old_skill_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Old Skill Version Id"},"old_skill_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Old Skill Version"},"new_skill_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"New Skill Version Id"},"new_skill_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"New Skill Version"}},"type":"object","required":["skill_id","skill_name"],"title":"AgentPresetSkillBindingChange","description":"Diff entry for skill binding changes between preset versions."},"AgentPresetSkillBindingRead":{"properties":{"skill_id":{"type":"string","format":"uuid","title":"Skill Id"},"skill_version_id":{"type":"string","format":"uuid","title":"Skill Version Id"},"skill_name":{"type":"string","title":"Skill Name"},"skill_version":{"type":"integer","title":"Skill Version"}},"type":"object","required":["skill_id","skill_version_id","skill_name","skill_version"],"title":"AgentPresetSkillBindingRead","description":"Resolved preset skill binding with metadata."},"AgentPresetSubagentEligibility":{"properties":{"eligible":{"type":"boolean","title":"Eligible","default":true},"reasons":{"items":{"$ref":"#/components/schemas/AgentPresetSubagentEligibilityReason"},"type":"array","title":"Reasons"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","title":"AgentPresetSubagentEligibility","description":"Whether a preset version can be attached as a preset-backed subagent."},"AgentPresetSubagentEligibilityReason":{"type":"string","enum":["agents_enabled","tool_approvals"]},"AgentPresetTagCreate":{"properties":{"tag_id":{"type":"string","format":"uuid","title":"Tag Id"}},"type":"object","required":["tag_id"],"title":"AgentPresetTagCreate","description":"Payload for adding a tag to an agent preset."},"AgentPresetUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":1},{"type":"null"}],"title":"Name"},"slug":{"anyOf":[{"type":"string","maxLength":160,"minLength":1},{"type":"null"}],"title":"Slug"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instructions"},"model_name":{"anyOf":[{"type":"string","maxLength":120,"minLength":1},{"type":"null"}],"title":"Model Name"},"model_provider":{"anyOf":[{"type":"string","maxLength":120,"minLength":1},{"type":"null"}],"title":"Model Provider"},"catalog_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Catalog Id"},"base_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Base Url"},"output_type":{"anyOf":[{"$ref":"#/components/schemas/OutputType"},{"type":"null"}]},"actions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Actions"},"namespaces":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Namespaces"},"tool_approvals":{"anyOf":[{"additionalProperties":{"type":"boolean"},"type":"object"},{"type":"null"}],"title":"Tool Approvals"},"mcp_integrations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mcp Integrations"},"agents":{"anyOf":[{"$ref":"#/components/schemas/AgentSubagentsConfig-Input"},{"type":"null"}]},"retries":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Retries"},"enable_thinking":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Thinking"},"enable_internet_access":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Internet Access"},"skills":{"anyOf":[{"items":{"$ref":"#/components/schemas/AgentPresetSkillBindingBase"},"type":"array"},{"type":"null"}],"title":"Skills"}},"type":"object","title":"AgentPresetUpdate","description":"Payload for updating an existing agent preset."},"AgentPresetVersionDiff":{"properties":{"base_version_id":{"type":"string","format":"uuid","title":"Base Version Id"},"base_version":{"type":"integer","title":"Base Version"},"compare_version_id":{"type":"string","format":"uuid","title":"Compare Version Id"},"compare_version":{"type":"integer","title":"Compare Version"},"instructions_changed":{"type":"boolean","title":"Instructions Changed","default":false},"base_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Instructions"},"compare_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Compare Instructions"},"scalar_changes":{"items":{"$ref":"#/components/schemas/ScalarFieldChange"},"type":"array","title":"Scalar Changes"},"list_changes":{"items":{"$ref":"#/components/schemas/StringListFieldChange"},"type":"array","title":"List Changes"},"tool_approval_changes":{"items":{"$ref":"#/components/schemas/ToolApprovalFieldChange"},"type":"array","title":"Tool Approval Changes"},"skill_changes":{"items":{"$ref":"#/components/schemas/AgentPresetSkillBindingChange"},"type":"array","title":"Skill Changes"},"total_changes":{"type":"integer","title":"Total Changes","default":0}},"type":"object","required":["base_version_id","base_version","compare_version_id","compare_version"],"title":"AgentPresetVersionDiff","description":"Structured diff between two preset versions."},"AgentPresetVersionRead":{"properties":{"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instructions"},"model_name":{"type":"string","maxLength":120,"title":"Model Name"},"model_provider":{"type":"string","maxLength":120,"title":"Model Provider"},"catalog_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Catalog Id"},"base_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Base Url"},"output_type":{"anyOf":[{"$ref":"#/components/schemas/OutputType"},{"type":"null"}]},"actions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Actions"},"namespaces":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Namespaces"},"tool_approvals":{"anyOf":[{"additionalProperties":{"type":"boolean"},"type":"object"},{"type":"null"}],"title":"Tool Approvals"},"mcp_integrations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mcp Integrations"},"agents":{"$ref":"#/components/schemas/AgentSubagentsConfig-Output"},"retries":{"type":"integer","minimum":0.0,"title":"Retries","default":3},"enable_thinking":{"type":"boolean","title":"Enable Thinking","default":true},"enable_internet_access":{"type":"boolean","title":"Enable Internet Access","default":false},"id":{"type":"string","format":"uuid","title":"Id"},"preset_id":{"type":"string","format":"uuid","title":"Preset Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"version":{"type":"integer","title":"Version"},"capabilities":{"items":{"$ref":"#/components/schemas/AgentPresetCapability"},"type":"array","title":"Capabilities"},"subagent_eligibility":{"$ref":"#/components/schemas/AgentPresetSubagentEligibility"},"skills":{"items":{"$ref":"#/components/schemas/AgentPresetSkillBindingRead"},"type":"array","title":"Skills"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["model_name","model_provider","id","preset_id","workspace_id","version","created_at","updated_at"],"title":"AgentPresetVersionRead","description":"Full response model for an immutable preset version."},"AgentPresetVersionReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"preset_id":{"type":"string","format":"uuid","title":"Preset Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"version":{"type":"integer","title":"Version"},"capabilities":{"items":{"$ref":"#/components/schemas/AgentPresetCapability"},"type":"array","title":"Capabilities"},"subagent_eligibility":{"$ref":"#/components/schemas/AgentPresetSubagentEligibility"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","preset_id","workspace_id","version","created_at","updated_at"],"title":"AgentPresetVersionReadMinimal","description":"Metadata returned when listing immutable preset versions."},"AgentSessionArtifactsRead":{"properties":{"artifacts":{"items":{"$ref":"#/components/schemas/Artifact"},"type":"array","title":"Artifacts"}},"type":"object","title":"AgentSessionArtifactsRead","description":"Response schema for persisted agent session artifacts."},"AgentSessionCancelRequest":{"properties":{"reason":{"type":"string","const":"user_cancel","title":"Reason","default":"user_cancel"}},"type":"object","title":"AgentSessionCancelRequest","description":"Request schema for cancelling the active agent session turn."},"AgentSessionCancelResponse":{"properties":{"session_id":{"type":"string","format":"uuid","title":"Session Id"},"run_id":{"type":"string","format":"uuid","title":"Run Id"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["session_id","run_id","reason"],"title":"AgentSessionCancelResponse","description":"Response schema for an accepted agent session cancellation request."},"AgentSessionCreate":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id","description":"Session ID. If not provided, service generates one."},"title":{"type":"string","maxLength":200,"minLength":1,"title":"Title","description":"Human-readable title for the session","default":"New Chat"},"created_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By","description":"User who created this session"},"entity_type":{"$ref":"#/components/schemas/AgentSessionEntity","description":"Type of entity this session is associated with"},"entity_id":{"type":"string","format":"uuid","title":"Entity Id","description":"ID of the associated entity"},"tools":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":50},{"type":"null"}],"title":"Tools","description":"Extra tools added to this session alongside entity defaults"},"mcp_integrations":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":50},{"type":"null"}],"title":"Mcp Integrations","description":"MCP integration IDs attached to this session"},"agent_preset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Id","description":"Agent preset used for this session (if any)"},"agent_preset_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Version Id","description":"Pinned preset version used for this session. If null, the session follows the preset's current version."},"harness_type":{"$ref":"#/components/schemas/HarnessType","description":"Agent harness type","default":"claude_code"}},"type":"object","required":["entity_type","entity_id"],"title":"AgentSessionCreate","description":"Request schema for creating an agent session."},"AgentSessionEntity":{"type":"string","enum":["case","agent_preset","agent_preset_builder","copilot","workflow","approval","external_channel"],"title":"AgentSessionEntity","description":"The type of entity associated with an agent session.\n\nDetermines the context and behavior of the session:\n- CASE: Chat attached to a Case entity for investigation\n- AGENT_PRESET: Live chat testing a preset configuration\n- AGENT_PRESET_BUILDER: Builder chat for editing/configuring a preset\n- WORKSPACE_CHAT: Workspace-level chat assistant (wire value: copilot)\n- WORKFLOW: Workflow-initiated agent run (from action)\n- APPROVAL: Inbox approval continuation (hidden from main chat list)\n- EXTERNAL_CHANNEL: External channel session (e.g. Slack thread)"},"AgentSessionForkRequest":{"properties":{"entity_type":{"anyOf":[{"$ref":"#/components/schemas/AgentSessionEntity"},{"type":"null"}],"description":"Override entity type for the forked session. Use 'approval' for inbox forks to hide from main chat list."}},"type":"object","title":"AgentSessionForkRequest","description":"Request schema for forking an agent session."},"AgentSessionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"title":{"type":"string","title":"Title"},"created_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By"},"is_readonly":{"type":"boolean","title":"Is Readonly","description":"Whether the requesting actor can modify this session","default":false},"entity_type":{"$ref":"#/components/schemas/AgentSessionEntity"},"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"channel_context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Channel Context"},"tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tools"},"mcp_integrations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mcp Integrations"},"agent_preset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Id"},"agent_preset_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Version Id"},"agents_binding":{"anyOf":[{"$ref":"#/components/schemas/ResolvedAgentsConfig"},{"type":"null"}]},"harness_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Harness Type"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"last_stream_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Stream Id"},"artifacts":{"items":{"$ref":"#/components/schemas/Artifact"},"type":"array","title":"Artifacts"},"parent_session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Session Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","workspace_id","title","created_by","entity_type","entity_id","channel_context","tools","mcp_integrations","agent_preset_id","agent_preset_version_id","harness_type","created_at","updated_at"],"title":"AgentSessionRead","description":"Response schema for agent session."},"AgentSessionReadVercel":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"title":{"type":"string","title":"Title"},"created_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By"},"is_readonly":{"type":"boolean","title":"Is Readonly","description":"Whether the requesting actor can modify this session","default":false},"entity_type":{"$ref":"#/components/schemas/AgentSessionEntity"},"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"channel_context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Channel Context"},"tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tools"},"mcp_integrations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mcp Integrations"},"agent_preset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Id"},"agent_preset_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Version Id"},"agents_binding":{"anyOf":[{"$ref":"#/components/schemas/ResolvedAgentsConfig"},{"type":"null"}]},"harness_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Harness Type"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"last_stream_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Stream Id"},"artifacts":{"items":{"$ref":"#/components/schemas/Artifact"},"type":"array","title":"Artifacts"},"parent_session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Session Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"messages":{"items":{"$ref":"#/components/schemas/UIMessage"},"type":"array","title":"Messages","description":"Session messages in Vercel UI format"}},"type":"object","required":["id","workspace_id","title","created_by","entity_type","entity_id","channel_context","tools","mcp_integrations","agent_preset_id","agent_preset_version_id","harness_type","created_at","updated_at"],"title":"AgentSessionReadVercel","description":"Response schema for agent session with Vercel format messages."},"AgentSessionReadWithMessages":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"title":{"type":"string","title":"Title"},"created_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By"},"is_readonly":{"type":"boolean","title":"Is Readonly","description":"Whether the requesting actor can modify this session","default":false},"entity_type":{"$ref":"#/components/schemas/AgentSessionEntity"},"entity_id":{"type":"string","format":"uuid","title":"Entity Id"},"channel_context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Channel Context"},"tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tools"},"mcp_integrations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mcp Integrations"},"agent_preset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Id"},"agent_preset_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Version Id"},"agents_binding":{"anyOf":[{"$ref":"#/components/schemas/ResolvedAgentsConfig"},{"type":"null"}]},"harness_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Harness Type"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"last_stream_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Stream Id"},"artifacts":{"items":{"$ref":"#/components/schemas/Artifact"},"type":"array","title":"Artifacts"},"parent_session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Session Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"messages":{"items":{},"type":"array","title":"Messages","description":"Session messages"}},"type":"object","required":["id","workspace_id","title","created_by","entity_type","entity_id","channel_context","tools","mcp_integrations","agent_preset_id","agent_preset_version_id","harness_type","created_at","updated_at"],"title":"AgentSessionReadWithMessages","description":"Response schema for agent session with message history."},"AgentSessionUpdate":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Title","description":"Session title"},"tools":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":50},{"type":"null"}],"title":"Tools","description":"Extra tools added to this session alongside entity defaults"},"mcp_integrations":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":50},{"type":"null"}],"title":"Mcp Integrations","description":"MCP integration IDs attached to this session"},"agent_preset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Id","description":"Agent preset to use for this session"},"agent_preset_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Version Id","description":"Pinned preset version to use for this session. Set null to follow the preset's current version."},"harness_type":{"anyOf":[{"$ref":"#/components/schemas/HarnessType"},{"type":"null"}],"description":"Agent harness type"}},"type":"object","title":"AgentSessionUpdate","description":"Request schema for updating an agent session."},"AgentSettingsRead":{"properties":{"agent_default_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Default Model"},"agent_fixed_args":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Fixed Args"},"agent_case_chat_prompt":{"type":"string","title":"Agent Case Chat Prompt"},"agent_case_chat_inject_content":{"type":"boolean","title":"Agent Case Chat Inject Content"}},"type":"object","required":["agent_default_model","agent_fixed_args","agent_case_chat_prompt","agent_case_chat_inject_content"],"title":"AgentSettingsRead"},"AgentSettingsUpdate":{"properties":{"agent_default_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Default Model","description":"The default AI model to use for agent operations."},"agent_fixed_args":{"anyOf":[{"type":"string","maxLength":10000,"minLength":1},{"type":"null"}],"title":"Agent Fixed Args","description":"Fixed arguments for agent tools as a JSON string. Format: {'tool_name': {'arg': 'value'}}"},"agent_case_chat_prompt":{"type":"string","title":"Agent Case Chat Prompt","description":"Additional instructions for case chat agent; prepended to UI-provided instructions.","default":""},"agent_case_chat_inject_content":{"type":"boolean","title":"Agent Case Chat Inject Content","description":"Whether to automatically inject case content into agent prompts when a case_id is available.","default":false}},"type":"object","title":"AgentSettingsUpdate"},"AgentSubagentsConfig-Input":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":false},"subagents":{"items":{"$ref":"#/components/schemas/AnyAttachedSubagentRef"},"type":"array","title":"Subagents"}},"additionalProperties":false,"type":"object","title":"AgentSubagentsConfig","description":"User-facing agents toggle and optional preset-backed subagents."},"AgentSubagentsConfig-Output":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":false},"subagents":{"items":{"$ref":"#/components/schemas/AnyAttachedSubagentRef"},"type":"array","title":"Subagents"}},"additionalProperties":false,"type":"object","title":"AgentSubagentsConfig","description":"User-facing agents toggle and optional preset-backed subagents."},"AgentTagRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"ref":{"type":"string","title":"Ref"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","required":["id","name","ref","color"],"title":"AgentTagRead","description":"Tag data."},"AlertArtifact":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"scope":{"anyOf":[{"$ref":"#/components/schemas/ArtifactScope"},{"type":"null"}]},"type":{"type":"string","const":"alert","title":"Type","default":"alert"}},"additionalProperties":false,"type":"object","required":["id","title"],"title":"AlertArtifact","description":"Alert artifact stub. Extend when alert surfaces are wired."},"AnyAttachedSubagentRef":{"anyOf":[{"$ref":"#/components/schemas/ResolvedAttachedSubagentRef"},{"$ref":"#/components/schemas/AttachedSubagentRef"}]},"AppSettingsRead":{"properties":{"app_registry_validation_enabled":{"type":"boolean","title":"App Registry Validation Enabled"},"app_executions_query_limit":{"type":"integer","title":"App Executions Query Limit"},"app_interactions_enabled":{"type":"boolean","title":"App Interactions Enabled"},"app_workflow_export_enabled":{"type":"boolean","title":"App Workflow Export Enabled"},"app_create_workspace_on_register":{"type":"boolean","title":"App Create Workspace On Register"},"app_action_form_mode_enabled":{"type":"boolean","title":"App Action Form Mode Enabled"},"app_versioned_resource_resolution_strategy":{"$ref":"#/components/schemas/VersionedResourceResolutionStrategy","default":"latest"}},"type":"object","required":["app_registry_validation_enabled","app_executions_query_limit","app_interactions_enabled","app_workflow_export_enabled","app_create_workspace_on_register","app_action_form_mode_enabled"],"title":"AppSettingsRead","description":"Settings for the app."},"AppSettingsUpdate":{"properties":{"app_registry_validation_enabled":{"type":"boolean","title":"App Registry Validation Enabled","description":"Whether registry validation is enabled.","default":false},"app_executions_query_limit":{"type":"integer","title":"App Executions Query Limit","description":"The maximum number of executions to return in a single query.","default":100},"app_interactions_enabled":{"type":"boolean","title":"App Interactions Enabled","description":"Whether app interactions are enabled.","default":false},"app_workflow_export_enabled":{"type":"boolean","title":"App Workflow Export Enabled","description":"Whether workflow exports are enabled.","default":true},"app_create_workspace_on_register":{"type":"boolean","title":"App Create Workspace On Register","description":"Whether to automatically create a workspace when a user signs up.","default":false},"app_action_form_mode_enabled":{"type":"boolean","title":"App Action Form Mode Enabled","description":"Whether to enable form mode for action inputs. When disabled, only YAML mode is available, preserving raw YAML formatting.","default":true},"app_versioned_resource_resolution_strategy":{"$ref":"#/components/schemas/VersionedResourceResolutionStrategy","description":"How versioned resource references are resolved when a feature supports both pinned and latest dependency resolution.","default":"latest"}},"type":"object","title":"AppSettingsUpdate","description":"Settings for OAuth authentication."},"ApprovalDecision":{"properties":{"tool_call_id":{"type":"string","title":"Tool Call Id"},"action":{"type":"string","enum":["approve","override","deny"],"title":"Action"},"override_args":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Override Args"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Optional metadata captured with the decision (e.g. external actor identity)."}},"type":"object","required":["tool_call_id","action"],"title":"ApprovalDecision","description":"Operator decision for a pending approval."},"ApprovalInteraction":{"properties":{"type":{"type":"string","const":"approval","title":"Type"},"timeout":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timeout","description":"The timeout for the interaction in seconds."},"required_approvers":{"type":"integer","title":"Required Approvers","description":"Number of approvers required before the action can proceed.","default":1},"approver_groups":{"items":{"type":"string"},"type":"array","title":"Approver Groups","description":"List of groups that are allowed to approve this action."},"message":{"type":"string","title":"Message","description":"Custom message to display to approvers.","default":""},"approve_if":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approve If","description":"Condition to approve the action."}},"type":"object","required":["type"],"title":"ApprovalInteraction","description":"Configuration for an approval interaction."},"ApprovalMap":{"additionalProperties":{"$ref":"#/components/schemas/ApprovalResult"},"type":"object"},"ApprovalRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"tool_call_id":{"type":"string","title":"Tool Call Id"},"tool_name":{"type":"string","title":"Tool Name"},"tool_call_args":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Tool Call Args"},"status":{"$ref":"#/components/schemas/ApprovalStatus"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"decision":{"anyOf":[{"$ref":"#/components/schemas/PersistedApprovalDecision"},{"type":"null"}]},"approved_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Approved By"},"approved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Approved At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","tool_call_id","tool_name","status","created_at"],"title":"ApprovalRead","description":"Response schema for approval data in chat timeline."},"ApprovalResult":{"anyOf":[{"type":"boolean"},{"oneOf":[{"$ref":"#/components/schemas/ToolApproved"},{"$ref":"#/components/schemas/ToolDenied"}],"discriminator":{"propertyName":"kind","mapping":{"tool-approved":"#/components/schemas/ToolApproved","tool-denied":"#/components/schemas/ToolDenied"}}}]},"ApprovalStatus":{"type":"string","enum":["pending","approved","rejected"],"title":"ApprovalStatus","description":"Possible states for a deferred tool approval."},"ApprovalSubmission":{"properties":{"approvals":{"$ref":"#/components/schemas/ApprovalMap"}},"type":"object","required":["approvals"],"title":"ApprovalSubmission","description":"Request model for submitting approval decisions."},"Artifact":{"oneOf":[{"$ref":"#/components/schemas/CaseArtifact"},{"$ref":"#/components/schemas/WorkflowArtifact"},{"$ref":"#/components/schemas/RunArtifact"},{"$ref":"#/components/schemas/TableArtifact"},{"$ref":"#/components/schemas/AgentArtifact"},{"$ref":"#/components/schemas/AlertArtifact"},{"$ref":"#/components/schemas/IntegrationArtifact"},{"$ref":"#/components/schemas/SecretArtifact"},{"$ref":"#/components/schemas/GenericArtifact"}],"discriminator":{"propertyName":"type","mapping":{"agent":"#/components/schemas/AgentArtifact","alert":"#/components/schemas/AlertArtifact","case":"#/components/schemas/CaseArtifact","generic":"#/components/schemas/GenericArtifact","integration":"#/components/schemas/IntegrationArtifact","run":"#/components/schemas/RunArtifact","secret":"#/components/schemas/SecretArtifact","table":"#/components/schemas/TableArtifact","workflow":"#/components/schemas/WorkflowArtifact"}}},"ArtifactScope":{"properties":{"agentId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agentid"},"agentType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agenttype"},"parentToolCallId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parenttoolcallid"}},"additionalProperties":false,"type":"object","title":"ArtifactScope","description":"Attribution scope for artifact data parts."},"AssigneeChangedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"assignee_changed","title":"Type","default":"assignee_changed"},"old":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Old"},"new":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"New"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["old","new","created_at"],"title":"AssigneeChangedEventRead","description":"Event for when a case assignee is changed."},"AssistantMessage":{"properties":{"content":{"items":{"anyOf":[{"$ref":"#/components/schemas/TextBlock"},{"$ref":"#/components/schemas/ThinkingBlock"},{"$ref":"#/components/schemas/ToolUseBlock"},{"$ref":"#/components/schemas/ToolResultBlock"}]},"type":"array","title":"Content"},"model":{"type":"string","title":"Model"},"parent_tool_use_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Tool Use Id"},"error":{"anyOf":[{"type":"string","enum":["authentication_failed","billing_error","rate_limit","invalid_request","server_error","unknown"]},{"type":"null"}],"title":"Error"},"usage":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Usage"},"message_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message Id"},"stop_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stop Reason"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"uuid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uuid"}},"type":"object","required":["content","model"],"title":"AssistantMessage"},"AttachedSubagentRef":{"properties":{"preset":{"type":"string","maxLength":160,"minLength":1,"title":"Preset"},"preset_version":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Preset Version"},"name":{"anyOf":[{"type":"string","maxLength":80,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"max_turns":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Max Turns"}},"additionalProperties":false,"type":"object","required":["preset"],"title":"AttachedSubagentRef","description":"User-facing reference to a preset-backed subagent."},"AttachmentCreatedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"attachment_created","title":"Type","default":"attachment_created"},"attachment_id":{"type":"string","format":"uuid","title":"Attachment Id"},"file_name":{"type":"string","title":"File Name"},"content_type":{"type":"string","title":"Content Type"},"size":{"type":"integer","title":"Size"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["attachment_id","file_name","content_type","size","created_at"],"title":"AttachmentCreatedEventRead","description":"Event for when an attachment is created for a case."},"AttachmentDeletedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"attachment_deleted","title":"Type","default":"attachment_deleted"},"attachment_id":{"type":"string","format":"uuid","title":"Attachment Id"},"file_name":{"type":"string","title":"File Name"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["attachment_id","file_name","created_at"],"title":"AttachmentDeletedEventRead","description":"Event for when an attachment is deleted from a case."},"AudioUrl":{"properties":{"url":{"type":"string","title":"Url"},"force_download":{"anyOf":[{"type":"boolean"},{"type":"string","const":"allow-local"}],"title":"Force Download","default":false},"vendor_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Vendor Metadata"},"kind":{"type":"string","const":"audio-url","title":"Kind","default":"audio-url"},"media_type":{"type":"string","title":"Media Type","description":"Return the media type of the file, based on the URL or the provided `media_type`.","readOnly":true},"identifier":{"type":"string","title":"Identifier","description":"The identifier of the file, such as a unique ID.\n\nThis identifier can be provided to the model in a message to allow it to refer to this file in a tool call argument,\nand the tool can look up the file in question by iterating over the message history and finding the matching `FileUrl`.\n\nThis identifier is only automatically passed to the model when the `FileUrl` is returned by a tool.\nIf you're passing the `FileUrl` as a user message, it's up to you to include a separate text part with the identifier,\ne.g. \"This is file <identifier>:\" preceding the `FileUrl`.\n\nIt's also included in inline-text delimiters for providers that require inlining text documents, so the model can\ndistinguish multiple files.","readOnly":true}},"type":"object","required":["url","media_type","identifier"],"title":"AudioUrl","description":"A URL to an audio file."},"AuditSettingsRead":{"properties":{"audit_webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audit Webhook Url"},"audit_webhook_custom_headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Audit Webhook Custom Headers"},"audit_webhook_custom_payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Audit Webhook Custom Payload"},"audit_webhook_payload_attribute":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audit Webhook Payload Attribute"},"audit_webhook_verify_ssl":{"type":"boolean","title":"Audit Webhook Verify Ssl","default":true},"decryption_failed_keys":{"items":{"type":"string"},"type":"array","title":"Decryption Failed Keys","description":"Encrypted setting keys that could not be decrypted with the current encryption key and must be reconfigured."}},"type":"object","required":["audit_webhook_url"],"title":"AuditSettingsRead","description":"Settings for audit logging."},"AuditSettingsUpdate":{"properties":{"audit_webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audit Webhook Url","description":"Webhook URL that receives streamed audit events. When unset, audit events are skipped."},"audit_webhook_custom_headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Audit Webhook Custom Headers","description":"Custom headers to include in audit webhook requests. Header names are case-insensitive."},"audit_webhook_custom_payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Audit Webhook Custom Payload","description":"Custom JSON fields merged into streamed audit event payloads. Canonical audit event fields take precedence; conflicting custom keys are ignored."},"audit_webhook_payload_attribute":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audit Webhook Payload Attribute","description":"Optional wrapper key for audit payloads. When set to a value like 'event', payload is sent as {'event': <audit_payload>}."},"audit_webhook_verify_ssl":{"type":"boolean","title":"Audit Webhook Verify Ssl","description":"Whether TLS certificates are verified for webhook requests. Disable only for trusted on-prem/self-signed endpoints.","default":true}},"type":"object","title":"AuditSettingsUpdate","description":"Settings for audit logging."},"AuditWebhookTestResult":{"properties":{"ok":{"type":"boolean","title":"Ok"},"receiver_status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Receiver Status Code"},"error_category":{"anyOf":[{"type":"string","enum":["receiver_error","timeout","request_error"]},{"type":"null"}],"title":"Error Category"}},"type":"object","required":["ok"],"title":"AuditWebhookTestResult","description":"Result of a synchronous audit webhook test-fire request."},"AuthDiscoverRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"org":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Org"}},"type":"object","required":["email"],"title":"AuthDiscoverRequest","description":"Request payload for pre-auth discovery."},"AuthDiscoverResponse":{"properties":{"method":{"$ref":"#/components/schemas/AuthDiscoveryMethod"},"next_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Url"},"organization_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Slug"}},"type":"object","required":["method"],"title":"AuthDiscoverResponse","description":"Pre-auth routing hint response."},"AuthDiscoveryMethod":{"type":"string","enum":["basic","oidc","saml"],"title":"AuthDiscoveryMethod","description":"Authentication method hint for client-side routing."},"AwsAssumeRoleAccessRead":{"properties":{"tracecat_aws_account_id":{"type":"string","title":"Tracecat Aws Account Id"},"tracecat_aws_principal_arn":{"type":"string","title":"Tracecat Aws Principal Arn"},"external_id":{"type":"string","title":"External Id"}},"type":"object","required":["tracecat_aws_account_id","tracecat_aws_principal_arn","external_id"],"title":"AwsAssumeRoleAccessRead","description":"Workspace-scoped AWS AssumeRole details shown in the credentials UI."},"AzureAICatalogCreate":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"model_provider":{"type":"string","const":"azure_ai","title":"Model Provider"},"model_name":{"type":"string","maxLength":500,"minLength":1,"title":"Model Name"},"azure_ai_model_name":{"type":"string","minLength":1,"title":"Azure Ai Model Name"}},"additionalProperties":false,"type":"object","required":["model_provider","model_name","azure_ai_model_name"],"title":"AzureAICatalogCreate","description":"Azure AI catalog entry."},"AzureAICatalogUpdate":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"model_provider":{"type":"string","const":"azure_ai","title":"Model Provider"},"azure_ai_model_name":{"type":"string","minLength":1,"title":"Azure Ai Model Name"}},"additionalProperties":false,"type":"object","required":["model_provider","azure_ai_model_name"],"title":"AzureAICatalogUpdate"},"AzureOpenAICatalogCreate":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"model_provider":{"type":"string","const":"azure_openai","title":"Model Provider"},"model_name":{"type":"string","maxLength":500,"minLength":1,"title":"Model Name"},"deployment_name":{"type":"string","minLength":1,"title":"Deployment Name"}},"additionalProperties":false,"type":"object","required":["model_provider","model_name","deployment_name"],"title":"AzureOpenAICatalogCreate","description":"Azure OpenAI catalog entry."},"AzureOpenAICatalogUpdate":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"model_provider":{"type":"string","const":"azure_openai","title":"Model Provider"},"deployment_name":{"type":"string","minLength":1,"title":"Deployment Name"}},"additionalProperties":false,"type":"object","required":["model_provider","deployment_name"],"title":"AzureOpenAICatalogUpdate"},"BatchPositionUpdate":{"properties":{"actions":{"items":{"$ref":"#/components/schemas/ActionPositionUpdate"},"type":"array","title":"Actions"},"trigger_position":{"anyOf":[{"$ref":"#/components/schemas/Position"},{"type":"null"}]}},"type":"object","title":"BatchPositionUpdate","description":"Batch update for action and trigger positions."},"BedrockCatalogCreate":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"model_provider":{"type":"string","const":"bedrock","title":"Model Provider"},"model_name":{"type":"string","maxLength":500,"minLength":1,"title":"Model Name"},"inference_profile_id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Inference Profile Id"},"model_id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Model Id"},"use_converse":{"type":"boolean","title":"Use Converse","default":false}},"additionalProperties":false,"type":"object","required":["model_provider","model_name"],"title":"BedrockCatalogCreate","description":"Bedrock catalog entry. Requires exactly one of inference_profile_id or model_id."},"BedrockCatalogUpdate":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"model_provider":{"type":"string","const":"bedrock","title":"Model Provider"},"inference_profile_id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Inference Profile Id"},"model_id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Model Id"},"use_converse":{"type":"boolean","title":"Use Converse","default":false}},"additionalProperties":false,"type":"object","required":["model_provider"],"title":"BedrockCatalogUpdate"},"BinaryContent":{"properties":{"data":{"type":"string","contentEncoding":"base64","contentMediaType":"application/octet-stream","title":"Data"},"media_type":{"anyOf":[{"type":"string","enum":["audio/wav","audio/mpeg","audio/ogg","audio/flac","audio/aiff","audio/aac"]},{"type":"string","enum":["image/jpeg","image/png","image/gif","image/webp"]},{"type":"string","enum":["application/pdf","text/plain","text/csv","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/html","text/markdown","application/msword","application/vnd.ms-excel"]},{"type":"string"}],"title":"Media Type"},"vendor_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Vendor Metadata"},"kind":{"type":"string","const":"binary","title":"Kind","default":"binary"},"identifier":{"type":"string","title":"Identifier","description":"Identifier for the binary content, such as a unique ID.\n\nThis identifier can be provided to the model in a message to allow it to refer to this file in a tool call argument,\nand the tool can look up the file in question by iterating over the message history and finding the matching `BinaryContent`.\n\nThis identifier is only automatically passed to the model when the `BinaryContent` is returned by a tool.\nIf you're passing the `BinaryContent` as a user message, it's up to you to include a separate text part with the identifier,\ne.g. \"This is file <identifier>:\" preceding the `BinaryContent`.\n\nIt's also included in inline-text delimiters for providers that require inlining text documents, so the model can\ndistinguish multiple files.","readOnly":true}},"type":"object","required":["data","media_type","identifier"],"title":"BinaryContent","description":"Binary content, e.g. an audio or image file."},"Body_auth-sso_acs":{"properties":{"SAMLResponse":{"type":"string","title":"Samlresponse"},"RelayState":{"type":"string","title":"Relaystate"}},"type":"object","required":["SAMLResponse","RelayState"],"title":"Body_auth-sso_acs"},"Body_case-attachments-create_attachment":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_case-attachments-create_attachment"},"Body_tables-import_csv":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"column_mapping":{"type":"string","title":"Column Mapping"}},"type":"object","required":["file","column_mapping"],"title":"Body_tables-import_csv"},"Body_tables-import_table_from_csv":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"table_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Table Name"}},"type":"object","required":["file"],"title":"Body_tables-import_table_from_csv"},"Body_workflows-create_workflow":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"use_workflow_id":{"type":"boolean","title":"Use Workflow Id","description":"Use the workflow ID if it is provided in the YAML file","default":false},"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"}},"type":"object","title":"Body_workflows-create_workflow"},"BooleanApprovalDecision":{"properties":{"value":{"type":"boolean","title":"Value"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["value","metadata"],"title":"BooleanApprovalDecision","description":"Persisted boolean decision enriched with submission metadata."},"CachePoint":{"properties":{"kind":{"type":"string","const":"cache-point","title":"Kind","default":"cache-point"},"ttl":{"type":"string","enum":["5m","1h"],"title":"Ttl","default":"5m"}},"type":"object","title":"CachePoint"},"CaseArtifact":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"scope":{"anyOf":[{"$ref":"#/components/schemas/ArtifactScope"},{"type":"null"}]},"type":{"type":"string","const":"case","title":"Type","default":"case"},"severity":{"$ref":"#/components/schemas/CaseSeverity"},"status":{"$ref":"#/components/schemas/CaseStatus"}},"additionalProperties":false,"type":"object","required":["id","title","severity","status"],"title":"CaseArtifact","description":"Case artifact shown in artifact-capable chat surfaces."},"CaseAttachmentDownloadResponse":{"properties":{"download_url":{"type":"string","title":"Download Url","description":"Pre-signed download URL"},"file_name":{"type":"string","title":"File Name","description":"Original filename"},"content_type":{"type":"string","title":"Content Type","description":"MIME type of the file"}},"type":"object","required":["download_url","file_name","content_type"],"title":"CaseAttachmentDownloadResponse","description":"Model for attachment download URL response."},"CaseAttachmentRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"case_id":{"type":"string","format":"uuid","title":"Case Id"},"file_id":{"type":"string","format":"uuid","title":"File Id"},"file_name":{"type":"string","title":"File Name"},"content_type":{"type":"string","title":"Content Type"},"size":{"type":"integer","title":"Size"},"sha256":{"type":"string","title":"Sha256"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"creator_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Creator Id"},"is_deleted":{"type":"boolean","title":"Is Deleted","default":false}},"type":"object","required":["id","case_id","file_id","file_name","content_type","size","sha256","created_at","updated_at"],"title":"CaseAttachmentRead","description":"Model for reading a case attachment."},"CaseBatchDelete":{"properties":{"case_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":1000,"minItems":1,"title":"Case Ids"}},"type":"object","required":["case_ids"],"title":"CaseBatchDelete","description":"Request body for deleting multiple cases."},"CaseBatchItemResult":{"properties":{"case_id":{"type":"string","format":"uuid","title":"Case Id"},"success":{"type":"boolean","title":"Success"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["case_id","success"],"title":"CaseBatchItemResult","description":"Result of a batch operation for one case."},"CaseBatchResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/CaseBatchItemResult"},"type":"array","title":"Results"},"succeeded":{"type":"integer","title":"Succeeded"},"failed":{"type":"integer","title":"Failed"}},"type":"object","required":["results","succeeded","failed"],"title":"CaseBatchResponse","description":"Per-case results and aggregate counts for a batch operation."},"CaseBatchUpdate":{"properties":{"case_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":1000,"minItems":1,"title":"Case Ids"},"update":{"$ref":"#/components/schemas/CaseUpdate"}},"type":"object","required":["case_ids","update"],"title":"CaseBatchUpdate","description":"Request body for updating multiple cases."},"CaseCommentAgentAttributionRead":{"properties":{"invocation_id":{"type":"string","format":"uuid","title":"Invocation Id"},"preset_name":{"type":"string","title":"Preset Name"},"preset_slug":{"type":"string","title":"Preset Slug"},"session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session Id"}},"type":"object","required":["invocation_id","preset_name","preset_slug"],"title":"CaseCommentAgentAttributionRead","description":"Read model for agent attribution on a generated comment reply."},"CaseCommentAgentInvocationError":{"properties":{"kind":{"$ref":"#/components/schemas/CaseCommentAgentInvocationErrorKind"},"message":{"type":"string","title":"Message"}},"type":"object","required":["kind","message"],"title":"CaseCommentAgentInvocationError","description":"Structured terminal failure persisted for a comment agent invocation."},"CaseCommentAgentInvocationErrorKind":{"type":"string","enum":["startup","preparation","agent_turn","completion","cancelled"]},"CaseCommentAgentInvocationRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"preset_name":{"type":"string","title":"Preset Name"},"preset_slug":{"type":"string","title":"Preset Slug"},"status":{"$ref":"#/components/schemas/CaseCommentAgentInvocationStatus"},"session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session Id"},"error":{"anyOf":[{"$ref":"#/components/schemas/CaseCommentAgentInvocationError"},{"type":"null"}]}},"type":"object","required":["id","preset_name","preset_slug","status"],"title":"CaseCommentAgentInvocationRead","description":"Read model for an agent invocation triggered by a comment mention."},"CaseCommentAgentInvocationStatus":{"type":"string","enum":["pending","running","succeeded","failed"],"title":"CaseCommentAgentInvocationStatus","description":"Lifecycle state for an agent invoked from a case-comment mention."},"CaseCommentCreate":{"properties":{"content":{"type":"string","maxLength":25000,"title":"Content"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"workflow_id":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"},{"type":"null"}],"title":"Workflow Id"}},"type":"object","required":["content"],"title":"CaseCommentCreate"},"CaseCommentDeleteMode":{"type":"string","enum":["soft","hard"]},"CaseCommentMentionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"target_type":{"$ref":"#/components/schemas/MentionTargetType"},"target_id":{"type":"string","format":"uuid","title":"Target Id"},"label":{"type":"string","title":"Label"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"invocation":{"anyOf":[{"$ref":"#/components/schemas/CaseCommentAgentInvocationRead"},{"type":"null"}]}},"type":"object","required":["id","target_type","target_id","label","created_at"],"title":"CaseCommentMentionRead"},"CaseCommentRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"content":{"type":"string","title":"Content"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"workflow":{"anyOf":[{"$ref":"#/components/schemas/CaseCommentWorkflowRead"},{"type":"null"}]},"agent":{"anyOf":[{"$ref":"#/components/schemas/CaseCommentAgentAttributionRead"},{"type":"null"}]},"user":{"anyOf":[{"$ref":"#/components/schemas/UserRead"},{"type":"null"}]},"last_edited_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Edited At"},"deleted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deleted At"},"is_deleted":{"type":"boolean","title":"Is Deleted","default":false},"mentions":{"items":{"$ref":"#/components/schemas/CaseCommentMentionRead"},"type":"array","title":"Mentions"}},"type":"object","required":["id","created_at","updated_at","content"],"title":"CaseCommentRead"},"CaseCommentThreadRead":{"properties":{"comment":{"$ref":"#/components/schemas/CaseCommentRead"},"replies":{"items":{"$ref":"#/components/schemas/CaseCommentRead"},"type":"array","title":"Replies"},"reply_count":{"type":"integer","title":"Reply Count","default":0},"last_activity_at":{"type":"string","format":"date-time","title":"Last Activity At"}},"type":"object","required":["comment","last_activity_at"],"title":"CaseCommentThreadRead"},"CaseCommentUpdate":{"properties":{"content":{"anyOf":[{"type":"string","maxLength":25000,"minLength":1},{"type":"null"}],"title":"Content"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"}},"type":"object","title":"CaseCommentUpdate"},"CaseCommentWorkflowRead":{"properties":{"workflow_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workflow Id"},"title":{"type":"string","title":"Title"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id"},"status":{"$ref":"#/components/schemas/CaseCommentWorkflowStatus"}},"type":"object","required":["title","status"],"title":"CaseCommentWorkflowRead"},"CaseCommentWorkflowStatus":{"type":"string","enum":["running","succeeded","failed"],"title":"CaseCommentWorkflowStatus"},"CaseCreate":{"properties":{"summary":{"type":"string","title":"Summary"},"description":{"type":"string","title":"Description"},"status":{"$ref":"#/components/schemas/CaseStatus"},"priority":{"$ref":"#/components/schemas/CasePriority"},"severity":{"$ref":"#/components/schemas/CaseSeverity"},"fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Fields"},"dropdown_values":{"anyOf":[{"items":{"$ref":"#/components/schemas/CaseDropdownValueInput"},"type":"array"},{"type":"null"}],"title":"Dropdown Values"},"assignee_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assignee Id"},"payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"}},"type":"object","required":["summary","description","status","priority","severity"],"title":"CaseCreate"},"CaseDropdownDefinitionCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"ref":{"type":"string","maxLength":255,"minLength":1,"title":"Ref"},"icon_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Icon Name"},"is_ordered":{"type":"boolean","title":"Is Ordered","default":false},"required_on_closure":{"type":"boolean","title":"Required On Closure","default":false},"position":{"type":"integer","title":"Position","default":0},"options":{"items":{"$ref":"#/components/schemas/CaseDropdownOptionCreate"},"type":"array","title":"Options"}},"type":"object","required":["name","ref"],"title":"CaseDropdownDefinitionCreate","description":"Create a new dropdown definition with initial options."},"CaseDropdownDefinitionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"ref":{"type":"string","title":"Ref"},"icon_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Name"},"is_ordered":{"type":"boolean","title":"Is Ordered"},"required_on_closure":{"type":"boolean","title":"Required On Closure"},"position":{"type":"integer","title":"Position"},"options":{"items":{"$ref":"#/components/schemas/CaseDropdownOptionRead"},"type":"array","title":"Options"}},"type":"object","required":["id","name","ref","is_ordered","required_on_closure","position"],"title":"CaseDropdownDefinitionRead","description":"Read model for a dropdown definition with its options."},"CaseDropdownDefinitionUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"ref":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Ref"},"icon_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Icon Name"},"is_ordered":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Ordered"},"required_on_closure":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Required On Closure"},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position"}},"type":"object","title":"CaseDropdownDefinitionUpdate","description":"Update an existing dropdown definition."},"CaseDropdownOptionCreate":{"properties":{"label":{"type":"string","maxLength":255,"minLength":1,"title":"Label"},"ref":{"type":"string","maxLength":255,"minLength":1,"title":"Ref"},"icon_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Icon Name"},"color":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Color"},"position":{"type":"integer","title":"Position","default":0}},"type":"object","required":["label","ref"],"title":"CaseDropdownOptionCreate","description":"Create a new option within a dropdown definition."},"CaseDropdownOptionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"label":{"type":"string","title":"Label"},"ref":{"type":"string","title":"Ref"},"icon_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Name"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"position":{"type":"integer","title":"Position"}},"type":"object","required":["id","label","ref","position"],"title":"CaseDropdownOptionRead","description":"Read model for a dropdown option."},"CaseDropdownOptionUpdate":{"properties":{"label":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Label"},"ref":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Ref"},"icon_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Icon Name"},"color":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Color"},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position"}},"type":"object","title":"CaseDropdownOptionUpdate","description":"Update an existing dropdown option."},"CaseDropdownValueInput":{"properties":{"definition_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Definition Id","description":"Dropdown definition ID."},"definition_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Definition Ref","description":"Dropdown definition ref."},"option_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Option Id","description":"Dropdown option ID. Pass null to clear the value."},"option_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Option Ref","description":"Dropdown option ref. Pass null to clear the value."}},"type":"object","title":"CaseDropdownValueInput","description":"Dropdown selection payload for case create/update operations."},"CaseDropdownValueRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"definition_id":{"type":"string","format":"uuid","title":"Definition Id"},"definition_ref":{"type":"string","title":"Definition Ref"},"definition_name":{"type":"string","title":"Definition Name"},"option_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Option Id"},"option_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Option Label"},"option_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Option Ref"},"option_icon_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Option Icon Name"},"option_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Option Color"}},"type":"object","required":["id","definition_id","definition_ref","definition_name"],"title":"CaseDropdownValueRead","description":"Per-case dropdown value with full definition/option info."},"CaseDropdownValueSet":{"properties":{"option_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Option Id","description":"The option ID to set. Pass null to clear the value."}},"type":"object","title":"CaseDropdownValueSet","description":"Request body for setting or clearing a dropdown value on a case."},"CaseDurationAnchorSelection":{"type":"string","enum":["first","last"],"title":"CaseDurationAnchorSelection","description":"Strategies for choosing which matching event should anchor a duration."},"CaseDurationCreate":{"properties":{"definition_id":{"type":"string","format":"uuid","title":"Definition Id","description":"Identifier of the case duration definition generating this duration."},"start_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Start Event Id","description":"Case event that started the duration, if available."},"end_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"End Event Id","description":"Case event that ended the duration, if available."},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At","description":"Timestamp when the duration began."},"ended_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ended At","description":"Timestamp when the duration ended."},"duration":{"anyOf":[{"type":"string","format":"duration"},{"type":"null"}],"title":"Duration","description":"Total elapsed time between start and end timestamps."}},"type":"object","required":["definition_id"],"title":"CaseDurationCreate","description":"Create payload for case duration records."},"CaseDurationDefinitionCreate":{"properties":{"name":{"type":"string","maxLength":255,"title":"Name","description":"Human readable name for the metric."},"description":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Description","description":"Optional description providing more context."},"start_anchor":{"$ref":"#/components/schemas/CaseDurationEventAnchor","description":"Event configuration that marks the start of the duration."},"end_anchor":{"$ref":"#/components/schemas/CaseDurationEventAnchor","description":"Event configuration that marks the end of the duration."}},"type":"object","required":["name","start_anchor","end_anchor"],"title":"CaseDurationDefinitionCreate","description":"Create payload for case duration definitions."},"CaseDurationDefinitionRead":{"properties":{"name":{"type":"string","maxLength":255,"title":"Name","description":"Human readable name for the metric."},"description":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Description","description":"Optional description providing more context."},"start_anchor":{"$ref":"#/components/schemas/CaseDurationEventAnchor","description":"Event configuration that marks the start of the duration."},"end_anchor":{"$ref":"#/components/schemas/CaseDurationEventAnchor","description":"Event configuration that marks the end of the duration."},"id":{"type":"string","format":"uuid","title":"Id"}},"type":"object","required":["name","start_anchor","end_anchor","id"],"title":"CaseDurationDefinitionRead","description":"Read model for case duration definitions."},"CaseDurationDefinitionUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Description"},"start_anchor":{"anyOf":[{"$ref":"#/components/schemas/CaseDurationEventAnchor"},{"type":"null"}]},"end_anchor":{"anyOf":[{"$ref":"#/components/schemas/CaseDurationEventAnchor"},{"type":"null"}]}},"type":"object","title":"CaseDurationDefinitionUpdate","description":"Patch payload for case duration definitions."},"CaseDurationEventAnchor":{"properties":{"event_type":{"$ref":"#/components/schemas/CaseEventType","description":"Case event type that should be matched for this anchor."},"filters":{"$ref":"#/components/schemas/CaseDurationEventFilters","description":"Optional product-level filters for matching event payload values."},"selection":{"$ref":"#/components/schemas/CaseDurationAnchorSelection","description":"Whether to use the first or last matching event for this anchor. Defaults to the first match.","default":"first"}},"additionalProperties":false,"type":"object","required":["event_type"],"title":"CaseDurationEventAnchor","description":"Selection criteria describing an event boundary for a duration."},"CaseDurationEventFilters":{"properties":{"new_values":{"items":{"type":"string"},"type":"array","title":"New Values","description":"New priority, severity, or status values to match."},"tag_refs":{"items":{"type":"string"},"type":"array","title":"Tag Refs","description":"Case tag refs to match for tag add/remove events."},"field_ids":{"items":{"type":"string"},"type":"array","title":"Field Ids","description":"Case custom field IDs to match for field change events."},"dropdown_definition_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dropdown Definition Id","description":"Dropdown definition ID to match for dropdown value change events."},"dropdown_option_ids":{"items":{"type":"string"},"type":"array","title":"Dropdown Option Ids","description":"Dropdown option IDs to match for dropdown value change events."}},"additionalProperties":false,"type":"object","title":"CaseDurationEventFilters","description":"Product-level filters for narrowing case duration event anchors."},"CaseDurationRead":{"properties":{"definition_id":{"type":"string","format":"uuid","title":"Definition Id","description":"Identifier of the case duration definition generating this duration."},"start_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Start Event Id","description":"Case event that started the duration, if available."},"end_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"End Event Id","description":"Case event that ended the duration, if available."},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At","description":"Timestamp when the duration began."},"ended_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ended At","description":"Timestamp when the duration ended."},"duration":{"anyOf":[{"type":"string","format":"duration"},{"type":"null"}],"title":"Duration","description":"Total elapsed time between start and end timestamps."},"id":{"type":"string","format":"uuid","title":"Id"},"case_id":{"type":"string","format":"uuid","title":"Case Id"}},"type":"object","required":["definition_id","id","case_id"],"title":"CaseDurationRead","description":"Read model for case duration records."},"CaseDurationUpdate":{"properties":{"definition_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Definition Id"},"start_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Start Event Id"},"end_event_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"End Event Id"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"ended_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ended At"},"duration":{"anyOf":[{"type":"string","format":"duration"},{"type":"null"}],"title":"Duration"}},"type":"object","title":"CaseDurationUpdate","description":"Patch payload for case duration records."},"CaseEventRead":{"oneOf":[{"$ref":"#/components/schemas/CreatedEventRead"},{"$ref":"#/components/schemas/ClosedEventRead"},{"$ref":"#/components/schemas/ReopenedEventRead"},{"$ref":"#/components/schemas/CaseViewedEventRead"},{"$ref":"#/components/schemas/UpdatedEventRead"},{"$ref":"#/components/schemas/StatusChangedEventRead"},{"$ref":"#/components/schemas/PriorityChangedEventRead"},{"$ref":"#/components/schemas/SeverityChangedEventRead"},{"$ref":"#/components/schemas/FieldChangedEventRead"},{"$ref":"#/components/schemas/AssigneeChangedEventRead"},{"$ref":"#/components/schemas/AttachmentCreatedEventRead"},{"$ref":"#/components/schemas/AttachmentDeletedEventRead"},{"$ref":"#/components/schemas/TagAddedEventRead"},{"$ref":"#/components/schemas/TagRemovedEventRead"},{"$ref":"#/components/schemas/PayloadChangedEventRead"},{"$ref":"#/components/schemas/CommentCreatedEventRead"},{"$ref":"#/components/schemas/CommentUpdatedEventRead"},{"$ref":"#/components/schemas/CommentDeletedEventRead"},{"$ref":"#/components/schemas/CommentReplyCreatedEventRead"},{"$ref":"#/components/schemas/CommentReplyUpdatedEventRead"},{"$ref":"#/components/schemas/CommentReplyDeletedEventRead"},{"$ref":"#/components/schemas/TaskCreatedEventRead"},{"$ref":"#/components/schemas/TaskStatusChangedEventRead"},{"$ref":"#/components/schemas/TaskPriorityChangedEventRead"},{"$ref":"#/components/schemas/TaskWorkflowChangedEventRead"},{"$ref":"#/components/schemas/TaskDeletedEventRead"},{"$ref":"#/components/schemas/TaskAssigneeChangedEventRead"},{"$ref":"#/components/schemas/DropdownValueChangedEventRead"},{"$ref":"#/components/schemas/TableRowLinkedEventRead"},{"$ref":"#/components/schemas/TableRowUnlinkedEventRead"}],"title":"CaseEventRead","description":"Base read model for all event types.","discriminator":{"propertyName":"type","mapping":{"assignee_changed":"#/components/schemas/AssigneeChangedEventRead","attachment_created":"#/components/schemas/AttachmentCreatedEventRead","attachment_deleted":"#/components/schemas/AttachmentDeletedEventRead","case_closed":"#/components/schemas/ClosedEventRead","case_created":"#/components/schemas/CreatedEventRead","case_reopened":"#/components/schemas/ReopenedEventRead","case_updated":"#/components/schemas/UpdatedEventRead","case_viewed":"#/components/schemas/CaseViewedEventRead","comment_created":"#/components/schemas/CommentCreatedEventRead","comment_deleted":"#/components/schemas/CommentDeletedEventRead","comment_reply_created":"#/components/schemas/CommentReplyCreatedEventRead","comment_reply_deleted":"#/components/schemas/CommentReplyDeletedEventRead","comment_reply_updated":"#/components/schemas/CommentReplyUpdatedEventRead","comment_updated":"#/components/schemas/CommentUpdatedEventRead","dropdown_value_changed":"#/components/schemas/DropdownValueChangedEventRead","fields_changed":"#/components/schemas/FieldChangedEventRead","payload_changed":"#/components/schemas/PayloadChangedEventRead","priority_changed":"#/components/schemas/PriorityChangedEventRead","severity_changed":"#/components/schemas/SeverityChangedEventRead","status_changed":"#/components/schemas/StatusChangedEventRead","table_row_linked":"#/components/schemas/TableRowLinkedEventRead","table_row_unlinked":"#/components/schemas/TableRowUnlinkedEventRead","tag_added":"#/components/schemas/TagAddedEventRead","tag_removed":"#/components/schemas/TagRemovedEventRead","task_assignee_changed":"#/components/schemas/TaskAssigneeChangedEventRead","task_created":"#/components/schemas/TaskCreatedEventRead","task_deleted":"#/components/schemas/TaskDeletedEventRead","task_priority_changed":"#/components/schemas/TaskPriorityChangedEventRead","task_status_changed":"#/components/schemas/TaskStatusChangedEventRead","task_workflow_changed":"#/components/schemas/TaskWorkflowChangedEventRead"}}},"CaseEventType":{"type":"string","enum":["case_created","case_updated","case_closed","case_reopened","case_viewed","priority_changed","severity_changed","status_changed","fields_changed","assignee_changed","attachment_created","attachment_deleted","tag_added","tag_removed","payload_changed","task_created","task_deleted","task_status_changed","task_priority_changed","task_workflow_changed","task_assignee_changed","dropdown_value_changed","table_row_linked","table_row_unlinked","comment_created","comment_updated","comment_deleted","comment_reply_created","comment_reply_updated","comment_reply_deleted"],"title":"CaseEventType","description":"Case activity type values."},"CaseEventsWithUsers":{"properties":{"events":{"items":{"$ref":"#/components/schemas/CaseEventRead"},"type":"array","title":"Events","description":"The events for the case."},"users":{"items":{"$ref":"#/components/schemas/UserRead"},"type":"array","title":"Users","description":"The users for the case."}},"type":"object","required":["events","users"],"title":"CaseEventsWithUsers"},"CaseFieldCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"The name of the column"},"type":{"$ref":"#/components/schemas/SqlType","maxLength":100,"minLength":1,"description":"The SQL type of the column"},"nullable":{"type":"boolean","title":"Nullable","default":true},"default":{"anyOf":[{},{"type":"null"}],"title":"Default"},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Options"},"display_name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Display Name"},"kind":{"anyOf":[{"$ref":"#/components/schemas/CaseFieldKind"},{"type":"null"}]},"required_on_closure":{"type":"boolean","title":"Required On Closure","default":false}},"type":"object","required":["name","type"],"title":"CaseFieldCreate","description":"Create a new case field."},"CaseFieldKind":{"type":"string","enum":["LONG_TEXT","URL"],"title":"CaseFieldKind","description":"Semantic kind for case custom fields.\n\nControls how the field is rendered in the UI without changing the underlying\nSQL storage type."},"CaseFieldRead":{"properties":{"id":{"type":"string","title":"Id"},"display_name":{"type":"string","title":"Display Name"},"type":{"$ref":"#/components/schemas/CaseFieldReadType"},"description":{"type":"string","title":"Description"},"nullable":{"type":"boolean","title":"Nullable"},"default":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default"},"reserved":{"type":"boolean","title":"Reserved"},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Options"},"kind":{"anyOf":[{"$ref":"#/components/schemas/CaseFieldKind"},{"type":"null"}]},"required_on_closure":{"type":"boolean","title":"Required On Closure","default":false},"value":{"title":"Value"}},"type":"object","required":["id","display_name","type","description","nullable","default","reserved","value"],"title":"CaseFieldRead","description":"Read model for a case field."},"CaseFieldReadMinimal":{"properties":{"id":{"type":"string","title":"Id"},"display_name":{"type":"string","title":"Display Name"},"type":{"$ref":"#/components/schemas/CaseFieldReadType"},"description":{"type":"string","title":"Description"},"nullable":{"type":"boolean","title":"Nullable"},"default":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default"},"reserved":{"type":"boolean","title":"Reserved"},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Options"},"kind":{"anyOf":[{"$ref":"#/components/schemas/CaseFieldKind"},{"type":"null"}]},"required_on_closure":{"type":"boolean","title":"Required On Closure","default":false}},"type":"object","required":["id","display_name","type","description","nullable","default","reserved"],"title":"CaseFieldReadMinimal","description":"Minimal read model for a case field."},"CaseFieldReadType":{"type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","BOOLEAN","TIMESTAMPTZ","JSONB","SELECT","MULTI_SELECT","UUID"],"title":"CaseFieldReadType","description":"Read-only type for case field metadata."},"CaseFieldUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name","description":"The name of the column"},"type":{"anyOf":[{"$ref":"#/components/schemas/SqlType","maxLength":100,"minLength":1},{"type":"null"}],"description":"The SQL type of the column"},"nullable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Nullable","description":"Whether the column can be null"},"default":{"anyOf":[{},{"type":"null"}],"title":"Default","description":"The default value of the column"},"is_index":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Index","description":"True creates a unique index, False drops it, None leaves unchanged."},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Options"},"display_name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Display Name"},"required_on_closure":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Required On Closure"}},"type":"object","title":"CaseFieldUpdate","description":"Update a case field."},"CaseLinkedTableRead":{"properties":{"table_id":{"type":"string","format":"uuid","title":"Table Id"},"table_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Table Name"},"row_count":{"type":"integer","title":"Row Count"},"columns":{"items":{"$ref":"#/components/schemas/TableColumnRead"},"type":"array","title":"Columns"}},"type":"object","required":["table_id","row_count","columns"],"title":"CaseLinkedTableRead","description":"One table with at least one row linked to a case.\n\n``row_count`` counts links, including links whose source row was deleted.\n\n``columns`` carries the table's column definitions so a caller can render\nthe linked rows without a separate table read. It is empty when the table\nitself is gone. ``is_index`` is not populated here; read the table directly\nwhen unique-index state matters."},"CasePriority":{"type":"string","enum":["unknown","low","medium","high","critical","other"],"title":"CasePriority","description":"Case priority values aligned with urgency levels.\n\nValues:\n    UNKNOWN (0): No priority is assigned\n    LOW (1): Application or personal procedure is unusable, where a workaround is available or a repair is possible\n    MEDIUM (2): Non-critical function or procedure is unusable or hard to use causing operational disruptions with no direct impact on a service's availability. A workaround is available\n    HIGH (3): Critical functionality or network access is interrupted, degraded or unusable, having a severe impact on services availability. No acceptable alternative is possible\n    CRITICAL (4): Interruption making a critical functionality inaccessible or a complete network interruption causing a severe impact on services availability. There is no possible alternative\n    OTHER (99): The priority is not normalized"},"CaseRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"short_id":{"type":"string","title":"Short Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"summary":{"type":"string","title":"Summary"},"status":{"$ref":"#/components/schemas/CaseStatus"},"priority":{"$ref":"#/components/schemas/CasePriority"},"severity":{"$ref":"#/components/schemas/CaseSeverity"},"description":{"type":"string","title":"Description"},"fields":{"items":{"$ref":"#/components/schemas/CaseFieldRead"},"type":"array","title":"Fields"},"assignee":{"anyOf":[{"$ref":"#/components/schemas/UserRead"},{"type":"null"}]},"payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"},"tags":{"items":{"$ref":"#/components/schemas/CaseTagRead"},"type":"array","title":"Tags"},"dropdown_values":{"items":{"$ref":"#/components/schemas/CaseDropdownValueRead"},"type":"array","title":"Dropdown Values"},"rows":{"items":{"$ref":"#/components/schemas/CaseTableRowRead"},"type":"array","title":"Rows"}},"type":"object","required":["id","short_id","created_at","updated_at","summary","status","priority","severity","description","fields","payload","dropdown_values"],"title":"CaseRead"},"CaseReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"short_id":{"type":"string","title":"Short Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"summary":{"type":"string","title":"Summary"},"status":{"$ref":"#/components/schemas/CaseStatus"},"priority":{"$ref":"#/components/schemas/CasePriority"},"severity":{"$ref":"#/components/schemas/CaseSeverity"},"assignee":{"anyOf":[{"$ref":"#/components/schemas/UserRead"},{"type":"null"}]},"tags":{"items":{"$ref":"#/components/schemas/CaseTagRead"},"type":"array","title":"Tags"},"dropdown_values":{"items":{"$ref":"#/components/schemas/CaseDropdownValueRead"},"type":"array","title":"Dropdown Values"},"rows":{"items":{"$ref":"#/components/schemas/CaseTableRowRead"},"type":"array","title":"Rows"},"durations":{"anyOf":[{"items":{"$ref":"#/components/schemas/CaseDurationRead"},"type":"array"},{"type":"null"}],"title":"Durations"},"field_values":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Field Values"},"payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"},"num_tasks_completed":{"type":"integer","title":"Num Tasks Completed","default":0},"num_tasks_total":{"type":"integer","title":"Num Tasks Total","default":0}},"type":"object","required":["id","short_id","created_at","updated_at","summary","status","priority","severity","dropdown_values"],"title":"CaseReadMinimal"},"CaseSearchAggregateRead":{"properties":{"total":{"type":"integer","title":"Total"},"status_groups":{"$ref":"#/components/schemas/CaseStatusGroupCounts"}},"type":"object","required":["total","status_groups"],"title":"CaseSearchAggregateRead"},"CaseSeverity":{"type":"string","enum":["unknown","informational","low","medium","high","critical","fatal","other"],"title":"CaseSeverity","description":"Case severity values aligned with OCSF severity values.\n\nValues:\n    UNKNOWN (0): The event/finding severity is unknown\n    INFORMATIONAL (1): Informational message. No action required\n    LOW (2): The user decides if action is needed\n    MEDIUM (3): Action is required but the situation is not serious at this time\n    HIGH (4): Action is required immediately\n    CRITICAL (5): Action is required immediately and the scope is broad\n    FATAL (6): An error occurred but it is too late to take remedial action\n    OTHER (99): The event/finding severity is not mapped"},"CaseStatus":{"type":"string","enum":["unknown","new","in_progress","on_hold","resolved","closed","other"],"title":"CaseStatus","description":"Case status values aligned with OCSF Incident Finding status."},"CaseStatusGroupCounts":{"properties":{"new":{"type":"integer","title":"New","default":0},"in_progress":{"type":"integer","title":"In Progress","default":0},"on_hold":{"type":"integer","title":"On Hold","default":0},"resolved":{"type":"integer","title":"Resolved","default":0},"closed":{"type":"integer","title":"Closed","default":0},"unknown":{"type":"integer","title":"Unknown","default":0},"other":{"type":"integer","title":"Other","default":0}},"type":"object","title":"CaseStatusGroupCounts"},"CaseTableRowBatchLink":{"properties":{"table_id":{"type":"string","format":"uuid","title":"Table Id"},"row_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":100,"minItems":1,"title":"Row Ids"}},"type":"object","required":["table_id","row_ids"],"title":"CaseTableRowBatchLink"},"CaseTableRowBatchLinkResponse":{"properties":{"linked_count":{"type":"integer","title":"Linked Count"},"already_linked_count":{"type":"integer","title":"Already Linked Count"}},"type":"object","required":["linked_count","already_linked_count"],"title":"CaseTableRowBatchLinkResponse","description":"linked_count + already_linked_count == number of distinct row IDs requested."},"CaseTableRowBatchUnlink":{"properties":{"table_id":{"type":"string","format":"uuid","title":"Table Id"},"row_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":100,"minItems":1,"title":"Row Ids"}},"type":"object","required":["table_id","row_ids"],"title":"CaseTableRowBatchUnlink"},"CaseTableRowBatchUnlinkResponse":{"properties":{"unlinked_count":{"type":"integer","title":"Unlinked Count"}},"type":"object","required":["unlinked_count"],"title":"CaseTableRowBatchUnlinkResponse","description":"Row IDs with no link are silently skipped."},"CaseTableRowInsertCreate":{"properties":{"table_id":{"type":"string","format":"uuid","title":"Table Id"},"row":{"$ref":"#/components/schemas/TableRowInsert"}},"type":"object","required":["table_id","row"],"title":"CaseTableRowInsertCreate"},"CaseTableRowLinkCreate":{"properties":{"table_id":{"type":"string","format":"uuid","title":"Table Id"},"row_id":{"type":"string","format":"uuid","title":"Row Id"}},"type":"object","required":["table_id","row_id"],"title":"CaseTableRowLinkCreate"},"CaseTableRowRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"case_id":{"type":"string","format":"uuid","title":"Case Id"},"table_id":{"type":"string","format":"uuid","title":"Table Id"},"table_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Table Name"},"row_id":{"type":"string","format":"uuid","title":"Row Id"},"row_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Row Data"},"is_row_available":{"type":"boolean","title":"Is Row Available","default":true},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","case_id","table_id","row_id","created_at","updated_at"],"title":"CaseTableRowRead"},"CaseTagCreate":{"properties":{"tag_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"maxLength":100,"minLength":1,"title":"Tag Id","description":"Tag ID (UUID) or ref"}},"type":"object","required":["tag_id"],"title":"CaseTagCreate"},"CaseTagRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"ref":{"type":"string","title":"Ref"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","required":["id","name","ref","color"],"title":"CaseTagRead","description":"Tag data."},"CaseTaskCreate":{"properties":{"title":{"type":"string","maxLength":255,"minLength":1,"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"priority":{"$ref":"#/components/schemas/CasePriority","default":"unknown"},"status":{"$ref":"#/components/schemas/CaseTaskStatus","default":"todo"},"assignee_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assignee Id"},"workflow_id":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"},{"type":"null"}],"title":"Workflow Id"},"default_trigger_values":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Default Trigger Values"}},"type":"object","required":["title"],"title":"CaseTaskCreate"},"CaseTaskRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"case_id":{"type":"string","format":"uuid","title":"Case Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"priority":{"$ref":"#/components/schemas/CasePriority"},"status":{"$ref":"#/components/schemas/CaseTaskStatus"},"assignee":{"anyOf":[{"$ref":"#/components/schemas/UserRead"},{"type":"null"}]},"workflow_id":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"null"}],"title":"Workflow Id"},"default_trigger_values":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Default Trigger Values"}},"type":"object","required":["id","created_at","updated_at","case_id","title","description","priority","status","workflow_id"],"title":"CaseTaskRead"},"CaseTaskStatus":{"type":"string","enum":["todo","in_progress","completed","blocked"],"title":"CaseTaskStatus","description":"Case task status values."},"CaseTaskUpdate":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"priority":{"anyOf":[{"$ref":"#/components/schemas/CasePriority"},{"type":"null"}]},"status":{"anyOf":[{"$ref":"#/components/schemas/CaseTaskStatus"},{"type":"null"}]},"assignee_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assignee Id"},"workflow_id":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"},{"type":"null"}],"title":"Workflow Id"},"default_trigger_values":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Default Trigger Values"}},"type":"object","title":"CaseTaskUpdate"},"CaseTriggerCreate":{"properties":{"status":{"type":"string","enum":["online","offline"],"title":"Status","default":"offline"},"event_types":{"items":{"$ref":"#/components/schemas/CaseEventType"},"type":"array","title":"Event Types"},"tag_filters":{"items":{"type":"string"},"type":"array","title":"Tag Filters"}},"type":"object","title":"CaseTriggerCreate"},"CaseTriggerRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workflow_id":{"type":"string","title":"Workflow Id"},"status":{"type":"string","enum":["online","offline"],"title":"Status"},"event_types":{"items":{"$ref":"#/components/schemas/CaseEventType"},"type":"array","title":"Event Types"},"tag_filters":{"items":{"type":"string"},"type":"array","title":"Tag Filters"}},"type":"object","required":["id","workflow_id","status","event_types","tag_filters"],"title":"CaseTriggerRead"},"CaseTriggerUpdate":{"properties":{"status":{"anyOf":[{"type":"string","enum":["online","offline"]},{"type":"null"}],"title":"Status"},"event_types":{"anyOf":[{"items":{"$ref":"#/components/schemas/CaseEventType"},"type":"array"},{"type":"null"}],"title":"Event Types"},"tag_filters":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tag Filters"}},"type":"object","title":"CaseTriggerUpdate"},"CaseUpdate":{"properties":{"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"anyOf":[{"$ref":"#/components/schemas/CaseStatus"},{"type":"null"}]},"priority":{"anyOf":[{"$ref":"#/components/schemas/CasePriority"},{"type":"null"}]},"severity":{"anyOf":[{"$ref":"#/components/schemas/CaseSeverity"},{"type":"null"}]},"fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Fields"},"dropdown_values":{"anyOf":[{"items":{"$ref":"#/components/schemas/CaseDropdownValueInput"},"type":"array"},{"type":"null"}],"title":"Dropdown Values"},"assignee_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assignee Id"},"payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"}},"type":"object","title":"CaseUpdate"},"CaseVersionActorRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"}},"type":"object","required":["id","email"],"title":"CaseVersionActorRead","description":"Minimal user metadata for a case-version author."},"CaseVersionCompareRead":{"properties":{"selected":{"$ref":"#/components/schemas/CaseVersionContentRead"},"predecessor":{"anyOf":[{"$ref":"#/components/schemas/CaseVersionContentRead"},{"type":"null"}]}},"type":"object","required":["selected"],"title":"CaseVersionCompareRead","description":"Raw snapshots for client-side comparison of a selected case version."},"CaseVersionContentRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"field":{"$ref":"#/components/schemas/CaseVersionField"},"version":{"type":"integer","title":"Version"},"content":{"type":"string","title":"Content"}},"type":"object","required":["id","field","version","content"],"title":"CaseVersionContentRead","description":"Content for one immutable case field version."},"CaseVersionField":{"type":"string","enum":["summary","description"],"title":"CaseVersionField","description":"Case text fields that have immutable version history."},"CaseVersionReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"field":{"$ref":"#/components/schemas/CaseVersionField"},"version":{"type":"integer","title":"Version"},"actor":{"anyOf":[{"$ref":"#/components/schemas/CaseVersionActorRead"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"is_latest":{"type":"boolean","title":"Is Latest","description":"Whether this is the latest immutable version for its field"}},"type":"object","required":["id","field","version","created_at","is_latest"],"title":"CaseVersionReadMinimal","description":"Version metadata returned by the case history endpoint."},"CaseVersionRestoreRead":{"properties":{"restored":{"type":"boolean","title":"Restored","default":true},"case_id":{"type":"string","format":"uuid","title":"Case Id"},"restored_from_version_id":{"type":"string","format":"uuid","title":"Restored From Version Id"},"field":{"$ref":"#/components/schemas/CaseVersionField"}},"type":"object","required":["case_id","restored_from_version_id","field"],"title":"CaseVersionRestoreRead","description":"Confirmation that a historical case field version was restored."},"CaseViewedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"case_viewed","title":"Type","default":"case_viewed"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["created_at"],"title":"CaseViewedEventRead","description":"Event for when a case is viewed."},"CatalogMappingAffectedPreset":{"properties":{"preset_slug":{"type":"string","title":"Preset Slug"},"preset_name":{"type":"string","title":"Preset Name"},"version":{"type":"integer","title":"Version"},"path":{"type":"string","title":"Path"}},"type":"object","required":["preset_slug","preset_name","version","path"],"title":"CatalogMappingAffectedPreset"},"CatalogMappingAffectedWorkflow":{"properties":{"workflow_source_id":{"type":"string","title":"Workflow Source Id"},"workflow_path":{"type":"string","title":"Workflow Path"},"workflow_title":{"type":"string","title":"Workflow Title"},"action_ref":{"type":"string","title":"Action Ref"}},"type":"object","required":["workflow_source_id","workflow_path","workflow_title","action_ref"],"title":"CatalogMappingAffectedWorkflow"},"CatalogMappingCandidate":{"properties":{"catalog_id":{"type":"string","format":"uuid","title":"Catalog Id"},"model_provider":{"type":"string","title":"Model Provider"},"model_name":{"type":"string","title":"Model Name"},"provider_name":{"type":"string","title":"Provider Name"},"model_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Display Name"},"endpoint_hostname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint Hostname"},"origin":{"type":"string","enum":["platform","organization","custom_provider"],"title":"Origin"}},"type":"object","required":["catalog_id","model_provider","model_name","provider_name","model_display_name","endpoint_hostname","origin"],"title":"CatalogMappingCandidate"},"CatalogMappingRequirement":{"properties":{"source_catalog_id":{"type":"string","format":"uuid","title":"Source Catalog Id"},"model_provider":{"type":"string","title":"Model Provider"},"model_name":{"type":"string","title":"Model Name"},"reason":{"$ref":"#/components/schemas/CatalogMappingRequirementReason"},"message":{"type":"string","title":"Message"},"candidates":{"items":{"$ref":"#/components/schemas/CatalogMappingCandidate"},"type":"array","title":"Candidates"},"affected_presets":{"items":{"$ref":"#/components/schemas/CatalogMappingAffectedPreset"},"type":"array","title":"Affected Presets"},"affected_workflows":{"items":{"$ref":"#/components/schemas/CatalogMappingAffectedWorkflow"},"type":"array","title":"Affected Workflows"}},"type":"object","required":["source_catalog_id","model_provider","model_name","reason","message","candidates","affected_presets","affected_workflows"],"title":"CatalogMappingRequirement"},"CatalogMappingRequirementReason":{"type":"string","enum":["ambiguous","invalid_selection"]},"CatalogMappingSelection":{"properties":{"source_catalog_id":{"type":"string","format":"uuid","title":"Source Catalog Id"},"target_catalog_id":{"type":"string","format":"uuid","title":"Target Catalog Id"}},"type":"object","required":["source_catalog_id","target_catalog_id"],"title":"CatalogMappingSelection","description":"User-selected target catalog row for one source catalog reference."},"ChannelType":{"type":"string","enum":["slack"],"title":"ChannelType","description":"Supported external channel types."},"ChatMessage":{"properties":{"id":{"type":"string","title":"Id","description":"Unique message identifier"},"kind":{"$ref":"#/components/schemas/MessageKind","description":"Message kind for rendering","default":"chat-message"},"message":{"anyOf":[{},{"$ref":"#/components/schemas/UserMessage"},{"$ref":"#/components/schemas/AssistantMessage"},{"$ref":"#/components/schemas/SystemMessage"},{"$ref":"#/components/schemas/ResultMessage"},{"$ref":"#/components/schemas/StreamEvent"},{"$ref":"#/components/schemas/RateLimitEvent"},{"type":"null"}],"title":"Message","description":"The deserialized message (for kind=CHAT_MESSAGE)"},"approval":{"anyOf":[{"$ref":"#/components/schemas/ApprovalRead"},{"type":"null"}],"description":"Approval data for approval bubble rendering (for kind=APPROVAL_REQUEST/APPROVAL_DECISION)"},"compaction":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Compaction","description":"Compaction status data for badge rendering (for kind=COMPACTION)"},"cancelled":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Cancelled","description":"Turn-cancelled marker data (for kind=CANCELLED)"}},"type":"object","required":["id"],"title":"ChatMessage","description":"Model for a chat message with typed message payload.\n\nThis model supports multiple message kinds:\n- kind=CHAT_MESSAGE: Contains message field with user/assistant content\n- kind=APPROVAL_REQUEST/APPROVAL_DECISION: Contains approval field with approval data\n- kind=COMPACTION: Contains compaction field with compaction status data\n- kind=CANCELLED: Contains cancelled field with turn-cancelled marker data"},"ChatRead":{"properties":{"id":{"type":"string","format":"uuid4","title":"Id","description":"Unique chat identifier"},"title":{"type":"string","title":"Title","description":"Human-readable title for the chat"},"user_id":{"type":"string","format":"uuid4","title":"User Id","description":"ID of the user who owns the chat"},"entity_type":{"$ref":"#/components/schemas/AgentSessionEntity","description":"Type of entity this chat is associated with"},"entity_id":{"type":"string","format":"uuid4","title":"Entity Id","description":"ID of the associated entity"},"tools":{"items":{"type":"string"},"type":"array","title":"Tools","description":"Tools available to the agent"},"mcp_integrations":{"items":{"type":"string"},"type":"array","title":"Mcp Integrations","description":"MCP integration IDs attached to this chat"},"agent_preset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Id","description":"Agent preset used for this chat, if any"},"agent_preset_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Version Id","description":"Pinned preset version used for this chat, if any"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the chat was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"When the chat was last updated"},"last_stream_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Stream Id","description":"Last processed Redis stream ID for this chat"},"is_readonly":{"type":"boolean","title":"Is Readonly","description":"Whether this chat is read-only (legacy chats cannot be modified)","default":true},"messages":{"items":{"$ref":"#/components/schemas/ChatMessage"},"type":"array","title":"Messages","description":"Chat messages from Redis stream"}},"type":"object","required":["id","title","user_id","entity_type","entity_id","tools","created_at","updated_at"],"title":"ChatRead","description":"Model for chat metadata with message history."},"ChatReadMinimal":{"properties":{"id":{"type":"string","format":"uuid4","title":"Id","description":"Unique chat identifier"},"title":{"type":"string","title":"Title","description":"Human-readable title for the chat"},"user_id":{"type":"string","format":"uuid4","title":"User Id","description":"ID of the user who owns the chat"},"entity_type":{"$ref":"#/components/schemas/AgentSessionEntity","description":"Type of entity this chat is associated with"},"entity_id":{"type":"string","format":"uuid4","title":"Entity Id","description":"ID of the associated entity"},"tools":{"items":{"type":"string"},"type":"array","title":"Tools","description":"Tools available to the agent"},"mcp_integrations":{"items":{"type":"string"},"type":"array","title":"Mcp Integrations","description":"MCP integration IDs attached to this chat"},"agent_preset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Id","description":"Agent preset used for this chat, if any"},"agent_preset_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Version Id","description":"Pinned preset version used for this chat, if any"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the chat was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"When the chat was last updated"},"last_stream_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Stream Id","description":"Last processed Redis stream ID for this chat"},"is_readonly":{"type":"boolean","title":"Is Readonly","description":"Whether this chat is read-only (legacy chats cannot be modified)","default":true}},"type":"object","required":["id","title","user_id","entity_type","entity_id","tools","created_at","updated_at"],"title":"ChatReadMinimal","description":"Model for chat metadata without messages.\n\nNote: Legacy Chat records are read-only (is_readonly=True)."},"ChatReadVercel":{"properties":{"id":{"type":"string","format":"uuid4","title":"Id","description":"Unique chat identifier"},"title":{"type":"string","title":"Title","description":"Human-readable title for the chat"},"user_id":{"type":"string","format":"uuid4","title":"User Id","description":"ID of the user who owns the chat"},"entity_type":{"$ref":"#/components/schemas/AgentSessionEntity","description":"Type of entity this chat is associated with"},"entity_id":{"type":"string","format":"uuid4","title":"Entity Id","description":"ID of the associated entity"},"tools":{"items":{"type":"string"},"type":"array","title":"Tools","description":"Tools available to the agent"},"mcp_integrations":{"items":{"type":"string"},"type":"array","title":"Mcp Integrations","description":"MCP integration IDs attached to this chat"},"agent_preset_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Id","description":"Agent preset used for this chat, if any"},"agent_preset_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Preset Version Id","description":"Pinned preset version used for this chat, if any"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"When the chat was created"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"When the chat was last updated"},"last_stream_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Stream Id","description":"Last processed Redis stream ID for this chat"},"is_readonly":{"type":"boolean","title":"Is Readonly","description":"Whether this chat is read-only (legacy chats cannot be modified)","default":true},"messages":{"items":{"$ref":"#/components/schemas/UIMessage"},"type":"array","title":"Messages","description":"Chat messages from Redis stream"}},"type":"object","required":["id","title","user_id","entity_type","entity_id","tools","created_at","updated_at"],"title":"ChatReadVercel","description":"Model for chat metadata with message history in Vercel format."},"ClosedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"case_closed","title":"Type","default":"case_closed"},"old":{"$ref":"#/components/schemas/CaseStatus"},"new":{"$ref":"#/components/schemas/CaseStatus"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["old","new","created_at"],"title":"ClosedEventRead","description":"Event for when a case is closed."},"Code":{"properties":{"component_id":{"type":"string","const":"code","title":"Component Id","default":"code"},"lang":{"type":"string","enum":["yaml","python"],"title":"Lang","default":"python"}},"type":"object","title":"Code"},"CollectionObject":{"properties":{"typename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Typename"},"type":{"type":"string","const":"collection","title":"Type"},"manifest_ref":{"$ref":"#/components/schemas/ObjectRef"},"count":{"type":"integer","title":"Count"},"chunk_size":{"type":"integer","title":"Chunk Size"},"element_kind":{"type":"string","enum":["value","stored_object"],"title":"Element Kind"},"schema_version":{"type":"integer","title":"Schema Version","default":1},"index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Index"}},"type":"object","required":["type","manifest_ref","count","chunk_size","element_kind"],"title":"CollectionObject","description":"Handle to a collection manifest stored in blob storage.\n\nRepresents huge collections without embedding list[StoredObject] in history.\nThe manifest contains chunk references for paged access.\n\nThis is a small, history-safe handle. The actual data lives in chunked\nblobs referenced by the manifest.\n\nAttributes:\n    manifest_ref: Reference to the manifest blob containing chunk refs.\n    count: Total number of elements in the collection.\n    chunk_size: Number of items per chunk.\n    element_kind: Whether elements are raw values or StoredObject handles.\n    schema_version: Manifest schema version for forward compatibility."},"CommentCreatedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"thread_root_id":{"type":"string","format":"uuid","title":"Thread Root Id"},"type":{"type":"string","const":"comment_created","title":"Type","default":"comment_created"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["comment_id","thread_root_id","created_at"],"title":"CommentCreatedEventRead","description":"Event for when a top-level comment is created."},"CommentDeletedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"thread_root_id":{"type":"string","format":"uuid","title":"Thread Root Id"},"type":{"type":"string","const":"comment_deleted","title":"Type","default":"comment_deleted"},"delete_mode":{"$ref":"#/components/schemas/CaseCommentDeleteMode"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["comment_id","thread_root_id","delete_mode","created_at"],"title":"CommentDeletedEventRead","description":"Event for when a top-level comment is deleted."},"CommentReplyCreatedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"thread_root_id":{"type":"string","format":"uuid","title":"Thread Root Id"},"type":{"type":"string","const":"comment_reply_created","title":"Type","default":"comment_reply_created"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["comment_id","thread_root_id","created_at"],"title":"CommentReplyCreatedEventRead","description":"Event for when a reply is created."},"CommentReplyDeletedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"thread_root_id":{"type":"string","format":"uuid","title":"Thread Root Id"},"type":{"type":"string","const":"comment_reply_deleted","title":"Type","default":"comment_reply_deleted"},"delete_mode":{"$ref":"#/components/schemas/CaseCommentDeleteMode"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["comment_id","thread_root_id","delete_mode","created_at"],"title":"CommentReplyDeletedEventRead","description":"Event for when a reply is deleted."},"CommentReplyUpdatedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"thread_root_id":{"type":"string","format":"uuid","title":"Thread Root Id"},"type":{"type":"string","const":"comment_reply_updated","title":"Type","default":"comment_reply_updated"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["comment_id","thread_root_id","created_at"],"title":"CommentReplyUpdatedEventRead","description":"Event for when a reply is updated."},"CommentUpdatedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"comment_id":{"type":"string","format":"uuid","title":"Comment Id"},"parent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Id"},"thread_root_id":{"type":"string","format":"uuid","title":"Thread Root Id"},"type":{"type":"string","const":"comment_updated","title":"Type","default":"comment_updated"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["comment_id","thread_root_id","created_at"],"title":"CommentUpdatedEventRead","description":"Event for when a top-level comment is updated."},"CommitInfo":{"properties":{"status":{"$ref":"#/components/schemas/PushStatus"},"sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sha"},"ref":{"type":"string","title":"Ref"},"base_ref":{"type":"string","title":"Base Ref"},"pr_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pr Url"},"pr_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pr Number"},"pr_reused":{"type":"boolean","title":"Pr Reused","default":false},"message":{"type":"string","title":"Message","default":""}},"type":"object","required":["status","sha","ref","base_ref"],"title":"CommitInfo"},"ContinueRunRequest":{"properties":{"kind":{"type":"string","const":"continue","title":"Kind","default":"continue"},"decisions":{"items":{"$ref":"#/components/schemas/ApprovalDecision"},"type":"array","title":"Decisions"},"source":{"type":"string","enum":["inbox","slack"],"title":"Source","description":"Origin of the approval decision submission. Use 'inbox' for Tracecat UI/API and 'slack' for Slack actions.","default":"inbox"}},"type":"object","required":["decisions"],"title":"ContinueRunRequest","description":"Payload to continue a CE run after collecting approvals."},"CreatedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"case_created","title":"Type","default":"case_created"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["created_at"],"title":"CreatedEventRead","description":"Event for when a case is created."},"CursorPaginatedResponse_AdminOrgInvitationRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AdminOrgInvitationRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[AdminOrgInvitationRead]"},"CursorPaginatedResponse_AgentFolderRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AgentFolderRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[AgentFolderRead]"},"CursorPaginatedResponse_AgentPresetVersionReadMinimal_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AgentPresetVersionReadMinimal"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[AgentPresetVersionReadMinimal]"},"CursorPaginatedResponse_AgentTagRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AgentTagRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[AgentTagRead]"},"CursorPaginatedResponse_CaseReadMinimal_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CaseReadMinimal"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[CaseReadMinimal]"},"CursorPaginatedResponse_CaseTableRowRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CaseTableRowRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[CaseTableRowRead]"},"CursorPaginatedResponse_CaseVersionReadMinimal_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CaseVersionReadMinimal"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[CaseVersionReadMinimal]"},"CursorPaginatedResponse_InboxItemRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/InboxItemRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[InboxItemRead]"},"CursorPaginatedResponse_MCPPersonalAccessTokenRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/MCPPersonalAccessTokenRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[MCPPersonalAccessTokenRead]"},"CursorPaginatedResponse_ServiceAccountApiKeyRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ServiceAccountApiKeyRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[ServiceAccountApiKeyRead]"},"CursorPaginatedResponse_ServiceAccountRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ServiceAccountRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[ServiceAccountRead]"},"CursorPaginatedResponse_SkillReadMinimal_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SkillReadMinimal"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[SkillReadMinimal]"},"CursorPaginatedResponse_SkillVersionReadMinimal_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SkillVersionReadMinimal"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[SkillVersionReadMinimal]"},"CursorPaginatedResponse_TableRowRead_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TableRowRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[TableRowRead]"},"CursorPaginatedResponse_WorkflowReadMinimal_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WorkflowReadMinimal"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[WorkflowReadMinimal]"},"CursorPaginatedResponse_WorkflowRunReadMinimal_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WorkflowRunReadMinimal"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor","description":"Cursor for next page"},"prev_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Cursor","description":"Cursor for previous page"},"has_more":{"type":"boolean","title":"Has More","description":"Whether more items exist","default":false},"has_previous":{"type":"boolean","title":"Has Previous","description":"Whether previous items exist","default":false},"total_estimate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Estimate","description":"Estimated total count from table statistics"}},"type":"object","required":["items"],"title":"CursorPaginatedResponse[WorkflowRunReadMinimal]"},"CustomOAuthProviderCreate":{"properties":{"name":{"type":"string","maxLength":120,"minLength":3,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description"},"grant_type":{"$ref":"#/components/schemas/OAuthGrantType"},"authorization_endpoint":{"type":"string","minLength":8,"title":"Authorization Endpoint","description":"OAuth authorization endpoint URL"},"token_endpoint":{"type":"string","minLength":8,"title":"Token Endpoint","description":"OAuth token endpoint URL"},"scopes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Scopes","description":"Default OAuth scopes to request"},"provider_id":{"anyOf":[{"type":"string","maxLength":255,"minLength":3},{"type":"null"}],"title":"Provider Id","description":"Optional custom identifier for the provider"},"client_id":{"type":"string","maxLength":512,"minLength":1,"title":"Client Id","description":"OAuth client identifier"},"client_secret":{"anyOf":[{"type":"string","minLength":1,"format":"password","writeOnly":true},{"type":"null"}],"title":"Client Secret","description":"OAuth client secret for the provider"}},"type":"object","required":["name","grant_type","authorization_endpoint","token_endpoint","client_id"],"title":"CustomOAuthProviderCreate","description":"Request payload for creating a custom OAuth provider."},"DSLConfig-Input":{"properties":{"scheduler":{"type":"string","enum":["static","dynamic"],"title":"Scheduler","description":"The type of scheduler to use.","default":"dynamic"},"environment":{"type":"string","title":"Environment","description":"The workflow's target execution environment. This is used to isolate secrets across different environments.If not provided, the default environment (default) is used.","default":"default"},"timeout":{"type":"number","title":"Timeout","description":"Workflow timeout in seconds. If set to 0, the workflow has no timeout.","default":0}},"type":"object","title":"DSLConfig","description":"This is the runtime configuration for the workflow.\n\nActivities don't need access to this."},"DSLConfig-Output":{"properties":{"environment":{"type":"string","title":"Environment","description":"The workflow's target execution environment. This is used to isolate secrets across different environments.If not provided, the default environment (default) is used.","default":"default"},"timeout":{"type":"number","title":"Timeout","description":"Workflow timeout in seconds. If set to 0, the workflow has no timeout.","default":0}},"type":"object","title":"DSLConfig","description":"This is the runtime configuration for the workflow.\n\nActivities don't need access to this."},"DSLEntrypoint":{"properties":{"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref","description":"The entrypoint action ref"},"expects":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/ExpectedField-Output"},"type":"object"},{"type":"null"}],"title":"Expects","description":"Expected trigger input schema. Use this to specify the expected shape of the trigger input."}},"type":"object","title":"DSLEntrypoint"},"DSLEnvironment":{"properties":{"workflow":{"additionalProperties":true,"type":"object","title":"Workflow"},"environment":{"type":"string","title":"Environment"},"variables":{"additionalProperties":true,"type":"object","title":"Variables"},"registry_version":{"type":"string","title":"Registry Version"}},"type":"object","title":"DSLEnvironment","description":"DSL Environment context. Has metadata about the workflow."},"DSLInput":{"properties":{"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"entrypoint":{"$ref":"#/components/schemas/DSLEntrypoint"},"actions":{"items":{"$ref":"#/components/schemas/ActionStatement"},"type":"array","title":"Actions"},"config":{"$ref":"#/components/schemas/DSLConfig-Output"},"triggers":{"items":{"$ref":"#/components/schemas/Trigger"},"type":"array","title":"Triggers"},"returns":{"anyOf":[{},{"type":"null"}],"title":"Returns","description":"The action ref or value to return."},"error_handler":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Handler","description":"The action ref to handle errors."}},"type":"object","required":["title","description","entrypoint","actions"],"title":"DSLInput","description":"DSL definition for a workflow.\n\nThe difference between this and a normal workflow engine is that here,\nour workflow execution order is defined by the DSL itself, independent\nof a workflow scheduler.\n\nWith a traditional\nThis allows the execution of the workflow to be fully deterministic."},"DSLRunArgs":{"properties":{"role":{"$ref":"#/components/schemas/Role"},"dsl":{"anyOf":[{"$ref":"#/components/schemas/DSLInput"},{"type":"null"}]},"wf_id":{"type":"string","title":"Wf Id"},"trigger_inputs":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/InlineObject"},{"$ref":"#/components/schemas/ExternalObject"},{"$ref":"#/components/schemas/CollectionObject"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/CollectionObject","external":"#/components/schemas/ExternalObject","inline":"#/components/schemas/InlineObject"}}},{"type":"null"}],"title":"Trigger Inputs"},"parent_run_context":{"anyOf":[{"$ref":"#/components/schemas/RunContext"},{"type":"null"}]},"runtime_config":{"$ref":"#/components/schemas/DSLConfig-Output","description":"Runtime configuration that can be set on workflow entry. Note that this can override the default config in DSLInput."},"timeout":{"type":"string","format":"duration","title":"Timeout","description":"Platform activity start-to-close timeout."},"schedule_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule Id","description":"The schedule ID that triggered this workflow, if any. Auto-converts from legacy 'sch-<hex>' format."},"execution_type":{"$ref":"#/components/schemas/ExecutionType","description":"Execution type (draft or published). Draft executions use draft aliases for child workflows.","default":"published"},"time_anchor":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Anchor","description":"The workflow's logical time anchor for FN.now() and related functions. If not provided, computed from TemporalScheduledStartTime (for schedules) or workflow start_time (for other triggers). Stored as UTC."},"registry_lock":{"anyOf":[{"$ref":"#/components/schemas/RegistryLock"},{"type":"null"}],"description":"Registry version lock for action execution. Contains origins (origin -> version) and actions (action_name -> origin) mappings."}},"type":"object","required":["role","wf_id"],"title":"DSLRunArgs"},"DSLValidationResult":{"properties":{"type":{"type":"string","const":"dsl","title":"Type","default":"dsl"},"status":{"type":"string","enum":["success","error"],"title":"Status"},"msg":{"type":"string","title":"Msg","default":""},"detail":{"anyOf":[{"items":{"$ref":"#/components/schemas/ValidationDetail"},"type":"array"},{"type":"null"}],"title":"Detail"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"}},"type":"object","required":["status"],"title":"DSLValidationResult","description":"Result of validating a generic input."},"DataUIPart":{"properties":{"type":{"type":"string","pattern":"^data-.+$","title":"Type"},"id":{"type":"string","title":"Id"},"data":{"title":"Data"}},"additionalProperties":false,"type":"object","required":["type","data"],"title":"DataUIPart","description":"A custom data part, where type matches 'data-...'."},"DefaultModelSelection":{"properties":{"catalog_id":{"type":"string","format":"uuid","title":"Catalog Id"},"model_name":{"type":"string","maxLength":500,"minLength":1,"title":"Model Name"},"model_provider":{"type":"string","maxLength":120,"minLength":1,"title":"Model Provider"},"custom_provider_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Custom Provider Id"}},"type":"object","required":["catalog_id","model_name","model_provider"],"title":"DefaultModelSelection","description":"Canonical default-model selection for an organization."},"DefaultModelSelectionUpdate":{"properties":{"catalog_id":{"type":"string","format":"uuid","title":"Catalog Id"}},"type":"object","required":["catalog_id"],"title":"DefaultModelSelectionUpdate","description":"Payload for updating the organization's default model selection."},"DocumentUrl":{"properties":{"url":{"type":"string","title":"Url"},"force_download":{"anyOf":[{"type":"boolean"},{"type":"string","const":"allow-local"}],"title":"Force Download","default":false},"vendor_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Vendor Metadata"},"kind":{"type":"string","const":"document-url","title":"Kind","default":"document-url"},"media_type":{"type":"string","title":"Media Type","description":"Return the media type of the file, based on the URL or the provided `media_type`.","readOnly":true},"identifier":{"type":"string","title":"Identifier","description":"The identifier of the file, such as a unique ID.\n\nThis identifier can be provided to the model in a message to allow it to refer to this file in a tool call argument,\nand the tool can look up the file in question by iterating over the message history and finding the matching `FileUrl`.\n\nThis identifier is only automatically passed to the model when the `FileUrl` is returned by a tool.\nIf you're passing the `FileUrl` as a user message, it's up to you to include a separate text part with the identifier,\ne.g. \"This is file <identifier>:\" preceding the `FileUrl`.\n\nIt's also included in inline-text delimiters for providers that require inlining text documents, so the model can\ndistinguish multiple files.","readOnly":true}},"type":"object","required":["url","media_type","identifier"],"title":"DocumentUrl","description":"The URL of the document."},"DropdownValueChangedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"dropdown_value_changed","title":"Type","default":"dropdown_value_changed"},"definition_id":{"type":"string","title":"Definition Id"},"definition_ref":{"type":"string","title":"Definition Ref"},"definition_name":{"type":"string","title":"Definition Name"},"old_option_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Old Option Id"},"old_option_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Old Option Label"},"new_option_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Option Id"},"new_option_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Option Label"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["definition_id","definition_ref","definition_name","created_at"],"title":"DropdownValueChangedEventRead","description":"Event for when a case dropdown value is changed."},"DynamicToolUIPartInputAvailable":{"properties":{"type":{"type":"string","const":"dynamic-tool","title":"Type"},"toolName":{"type":"string","title":"Toolname"},"toolCallId":{"type":"string","title":"Toolcallid"},"state":{"type":"string","const":"input-available","title":"State"},"input":{"title":"Input"},"output":{"type":"null","title":"Output"},"errorText":{"type":"null","title":"Errortext"},"callProviderMetadata":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Callprovidermetadata"}},"additionalProperties":false,"type":"object","required":["type","toolName","toolCallId","state","input"],"title":"DynamicToolUIPartInputAvailable"},"DynamicToolUIPartInputStreaming":{"properties":{"type":{"type":"string","const":"dynamic-tool","title":"Type"},"toolName":{"type":"string","title":"Toolname"},"toolCallId":{"type":"string","title":"Toolcallid"},"state":{"type":"string","const":"input-streaming","title":"State"},"input":{"title":"Input"},"output":{"type":"null","title":"Output"},"errorText":{"type":"null","title":"Errortext"}},"additionalProperties":false,"type":"object","required":["type","toolName","toolCallId","state"],"title":"DynamicToolUIPartInputStreaming"},"DynamicToolUIPartOutputAvailable":{"properties":{"type":{"type":"string","const":"dynamic-tool","title":"Type"},"toolName":{"type":"string","title":"Toolname"},"toolCallId":{"type":"string","title":"Toolcallid"},"state":{"type":"string","const":"output-available","title":"State"},"input":{"title":"Input"},"output":{"title":"Output"},"errorText":{"type":"null","title":"Errortext"},"callProviderMetadata":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Callprovidermetadata"},"preliminary":{"type":"boolean","title":"Preliminary"}},"additionalProperties":false,"type":"object","required":["type","toolName","toolCallId","state","input","output"],"title":"DynamicToolUIPartOutputAvailable"},"DynamicToolUIPartOutputError":{"properties":{"type":{"type":"string","const":"dynamic-tool","title":"Type"},"toolName":{"type":"string","title":"Toolname"},"toolCallId":{"type":"string","title":"Toolcallid"},"state":{"type":"string","const":"output-error","title":"State"},"input":{"title":"Input"},"output":{"type":"null","title":"Output"},"errorText":{"type":"string","title":"Errortext"},"callProviderMetadata":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Callprovidermetadata"}},"additionalProperties":false,"type":"object","required":["type","toolName","toolCallId","state","input","errorText"],"title":"DynamicToolUIPartOutputError"},"EditorActionRead":{"properties":{"type":{"type":"string","title":"Type"},"ref":{"type":"string","title":"Ref"},"description":{"type":"string","title":"Description"}},"type":"object","required":["type","ref","description"],"title":"EditorActionRead"},"EditorComponent":{"oneOf":[{"$ref":"#/components/schemas/Text"},{"$ref":"#/components/schemas/Code"},{"$ref":"#/components/schemas/Select"},{"$ref":"#/components/schemas/TextArea"},{"$ref":"#/components/schemas/Integer"},{"$ref":"#/components/schemas/Float"},{"$ref":"#/components/schemas/Toggle"},{"$ref":"#/components/schemas/Yaml"},{"$ref":"#/components/schemas/TagInput"},{"$ref":"#/components/schemas/ActionType"},{"$ref":"#/components/schemas/WorkflowAlias"},{"$ref":"#/components/schemas/AgentPreset"},{"$ref":"#/components/schemas/AgentModel"},{"$ref":"#/components/schemas/MCPIntegration"}],"title":"EditorComponent","discriminator":{"propertyName":"component_id","mapping":{"action-type":"#/components/schemas/ActionType","agent-model":"#/components/schemas/AgentModel","agent-preset":"#/components/schemas/AgentPreset","code":"#/components/schemas/Code","float":"#/components/schemas/Float","integer":"#/components/schemas/Integer","mcp-integration":"#/components/schemas/MCPIntegration","select":"#/components/schemas/Select","tag-input":"#/components/schemas/TagInput","text":"#/components/schemas/Text","text-area":"#/components/schemas/TextArea","toggle":"#/components/schemas/Toggle","workflow-alias":"#/components/schemas/WorkflowAlias","yaml":"#/components/schemas/Yaml"}}},"EditorFunctionRead":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"parameters":{"items":{"$ref":"#/components/schemas/EditorParamRead"},"type":"array","title":"Parameters"},"return_type":{"type":"string","title":"Return Type"}},"type":"object","required":["name","description","parameters","return_type"],"title":"EditorFunctionRead"},"EditorParamRead":{"properties":{"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"},"optional":{"type":"boolean","title":"Optional"}},"type":"object","required":["name","type","optional"],"title":"EditorParamRead"},"EffectiveEntitlements":{"properties":{"custom_registry":{"type":"boolean","title":"Custom Registry","description":"Whether custom registry repositories are enabled","default":false},"git_sync":{"type":"boolean","title":"Git Sync","description":"Whether git sync is enabled","default":false},"agent_addons":{"type":"boolean","title":"Agent Addons","description":"Whether add-on agent capabilities are enabled (approvals, presets)","default":false},"case_addons":{"type":"boolean","title":"Case Addons","description":"Whether add-on case capabilities are enabled (dropdowns, durations, tasks, triggers)","default":false},"rbac_addons":{"type":"boolean","title":"Rbac Addons","description":"Whether RBAC add-ons are enabled (custom roles, groups, and assignments)","default":false},"service_accounts":{"type":"boolean","title":"Service Accounts","description":"Whether service accounts for API key access are enabled","default":false},"workspace_chat":{"type":"boolean","title":"Workspace Chat","description":"Whether Workspace Chat is enabled","default":false},"watchtower":{"type":"boolean","title":"Watchtower","description":"Whether Watchtower agent monitoring is enabled (agent sessions, tool-call telemetry, and controls)","default":false}},"type":"object","title":"EffectiveEntitlements","description":"Effective feature entitlements for an organization.\n\nValues are resolved from org overrides falling back to tier defaults."},"EntitlementsDict":{"properties":{"custom_registry":{"type":"boolean","title":"Custom Registry","description":"Whether custom registry repositories are enabled"},"git_sync":{"type":"boolean","title":"Git Sync","description":"Whether git sync is enabled"},"agent_addons":{"type":"boolean","title":"Agent Addons","description":"Whether add-on agent capabilities are enabled (approvals, presets)"},"case_addons":{"type":"boolean","title":"Case Addons","description":"Whether add-on case capabilities are enabled (dropdowns, durations, tasks, triggers)"},"rbac_addons":{"type":"boolean","title":"Rbac Addons","description":"Whether RBAC add-ons are enabled (custom roles, groups, and assignments)"},"service_accounts":{"type":"boolean","title":"Service Accounts","description":"Whether service accounts for API key access are enabled"},"workspace_chat":{"type":"boolean","title":"Workspace Chat","description":"Whether Workspace Chat is enabled"},"watchtower":{"type":"boolean","title":"Watchtower","description":"Whether Watchtower agent monitoring is enabled (agent sessions, tool-call telemetry, and controls)"}},"type":"object","title":"EntitlementsDict","description":"TypedDict for tier entitlements stored in JSONB.\n\nAll keys are optional (total=False) to support partial overrides."},"ErrorDetails":{"properties":{"type":{"type":"string","title":"Type"},"loc":{"items":{"anyOf":[{"type":"integer"},{"type":"string"}]},"type":"array","title":"Loc"},"msg":{"type":"string","title":"Msg"},"input":{"title":"Input"},"ctx":{"additionalProperties":true,"type":"object","title":"Ctx"},"url":{"type":"string","title":"Url"}},"type":"object","required":["type","loc","msg","input"],"title":"ErrorDetails"},"ErrorModel":{"properties":{"detail":{"anyOf":[{"type":"string"},{"additionalProperties":{"type":"string"},"type":"object"}],"title":"Detail"}},"type":"object","required":["detail"],"title":"ErrorModel"},"EventFailure":{"properties":{"message":{"type":"string","title":"Message"},"cause":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Cause"},"root_cause_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Root Cause Message"}},"type":"object","required":["message"],"title":"EventFailure"},"EventGroup_TypeVar_":{"properties":{"event_id":{"type":"integer","title":"Event Id"},"udf_namespace":{"type":"string","title":"Udf Namespace"},"udf_name":{"type":"string","title":"Udf Name"},"udf_key":{"type":"string","title":"Udf Key"},"action_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Id"},"action_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Ref"},"action_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Title"},"action_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Description"},"action_input":{"anyOf":[{"$ref":"#/components/schemas/RunActionInput"},{"$ref":"#/components/schemas/DSLRunArgs"},{"$ref":"#/components/schemas/GetWorkflowDefinitionActivityInputs"},{"$ref":"#/components/schemas/InteractionResult"},{"$ref":"#/components/schemas/InteractionInput"},{"$ref":"#/components/schemas/UnreadableTemporalPayload"}],"title":"Action Input"},"action_result":{"anyOf":[{},{"type":"null"}],"title":"Action Result"},"current_attempt":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Current Attempt"},"retry_policy":{"$ref":"#/components/schemas/ActionRetryPolicy"},"start_delay":{"type":"number","title":"Start Delay","default":0.0},"join_strategy":{"$ref":"#/components/schemas/JoinStrategy","default":"all"},"related_wf_exec_id":{"anyOf":[{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))"},{"type":"string","pattern":"^agent/[0-9a-f]8-[0-9a-f]4-[0-9a-f]4-[0-9a-f]4-[0-9a-f]12$"},{"type":"null"}],"title":"Related Wf Exec Id"}},"type":"object","required":["event_id","udf_namespace","udf_name","udf_key","action_input"],"title":"EventGroup[TypeVar]"},"ExecutionContext":{"properties":{"ACTIONS":{"additionalProperties":{"$ref":"#/components/schemas/TaskResult"},"type":"object","title":"Actions"},"TRIGGER":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/InlineObject"},{"$ref":"#/components/schemas/ExternalObject"},{"$ref":"#/components/schemas/CollectionObject"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/CollectionObject","external":"#/components/schemas/ExternalObject","inline":"#/components/schemas/InlineObject"}}},{"type":"null"}],"title":"Trigger"},"ENV":{"$ref":"#/components/schemas/DSLEnvironment"},"SECRETS":{"additionalProperties":true,"type":"object","title":"Secrets"},"VARS":{"additionalProperties":true,"type":"object","title":"Vars"},"var":{"additionalProperties":true,"type":"object","title":"Var"}},"type":"object","required":["ACTIONS","TRIGGER"],"title":"ExecutionContext","description":"Workflow execution context with typed fields.\n\nACTIONS and TRIGGER are always present. Other fields are optional since\ncontexts may be built incrementally during workflow execution."},"ExecutionType":{"type":"string","enum":["draft","published"],"title":"ExecutionType","description":"Execution type for a workflow execution.\n\nDistinguishes between draft (development) and published (production) executions."},"ExpectedField-Input":{"properties":{"type":{"type":"string","title":"Type"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"default":{"title":"Default"},"enum":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Enum"},"optional":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Optional"}},"additionalProperties":false,"type":"object","required":["type"],"title":"ExpectedField","description":"Schema for a field in a template action's expects definition.\n\nNote: The default field uses a sentinel to distinguish between\n\"no default specified\" (required field) and \"default is explicitly None\"\n(optional field)."},"ExpectedField-Output":{"additionalProperties":true,"type":"object"},"ExprType":{"type":"string","enum":["generic","action","secret","function","input","env","local_vars","literal","typecast","iterator","ternary","trigger","template_action_step","template_action_input","variable"],"title":"ExprType"},"ExprValidationResult":{"properties":{"type":{"type":"string","const":"expression","title":"Type","default":"expression"},"status":{"type":"string","enum":["success","error"],"title":"Status"},"msg":{"type":"string","title":"Msg","default":""},"detail":{"anyOf":[{"items":{"$ref":"#/components/schemas/ValidationDetail"},"type":"array"},{"type":"null"}],"title":"Detail"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"expression":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expression"},"expression_type":{"$ref":"#/components/schemas/ExprType"}},"type":"object","required":["status","expression_type"],"title":"ExprValidationResult","description":"Result of visiting an expression node."},"ExpressionValidationRequest":{"properties":{"expression":{"type":"string","title":"Expression"}},"type":"object","required":["expression"],"title":"ExpressionValidationRequest"},"ExpressionValidationResponse":{"properties":{"is_valid":{"type":"boolean","title":"Is Valid"},"errors":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Errors","default":[]},"tokens":{"items":{"$ref":"#/components/schemas/SyntaxToken"},"type":"array","title":"Tokens","default":[]}},"type":"object","required":["is_valid"],"title":"ExpressionValidationResponse"},"ExternalObject":{"properties":{"typename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Typename"},"type":{"type":"string","const":"external","title":"Type"},"ref":{"$ref":"#/components/schemas/ObjectRef"}},"type":"object","required":["type","ref"],"title":"ExternalObject","description":"Data externalized to blob storage."},"FeatureFlag":{"type":"string","enum":["ai-ranking","workflow-concurrency-limits","agent-channels","agent-fs-persistence"],"title":"FeatureFlag","description":"Feature flag enum reserved for engineering rollouts."},"FeatureFlagsRead":{"properties":{"enabled_features":{"items":{"$ref":"#/components/schemas/FeatureFlag"},"type":"array","title":"Enabled Features"}},"type":"object","required":["enabled_features"],"title":"FeatureFlagsRead","description":"Response model for feature flags."},"FieldChangedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"fields_changed","title":"Type","default":"fields_changed"},"changes":{"items":{"$ref":"#/components/schemas/FieldDiff"},"type":"array","title":"Changes"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["changes","created_at"],"title":"FieldChangedEventRead","description":"Event for when a case field is changed."},"FieldDiff":{"properties":{"field":{"type":"string","title":"Field"},"old":{"title":"Old"},"new":{"title":"New"}},"type":"object","required":["field","old","new"],"title":"FieldDiff"},"FileUIPart":{"properties":{"type":{"type":"string","const":"file","title":"Type"},"mediaType":{"type":"string","title":"Mediatype"},"url":{"type":"string","title":"Url"},"filename":{"type":"string","title":"Filename"},"providerMetadata":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Providermetadata"}},"additionalProperties":false,"type":"object","required":["type","mediaType","url"],"title":"FileUIPart","description":"A file part of a message."},"Float":{"properties":{"component_id":{"type":"string","const":"float","title":"Component Id","default":"float"},"min_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Val"},"max_val":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Val"},"step":{"type":"number","title":"Step","default":0.1}},"type":"object","title":"Float"},"FolderDirectoryItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"path":{"type":"string","title":"Path"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"type":{"type":"string","const":"folder","title":"Type"},"num_items":{"type":"integer","title":"Num Items"}},"type":"object","required":["id","name","path","workspace_id","created_at","updated_at","type","num_items"],"title":"FolderDirectoryItem"},"GenericArtifact":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"scope":{"anyOf":[{"$ref":"#/components/schemas/ArtifactScope"},{"type":"null"}]},"type":{"type":"string","const":"generic","title":"Type","default":"generic"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"}},"additionalProperties":false,"type":"object","required":["id","title"],"title":"GenericArtifact","description":"Escape hatch for surfaced objects without a dedicated panel view."},"GetWorkflowDefinitionActivityInputs":{"properties":{"role":{"$ref":"#/components/schemas/Role"},"workflow_id":{"type":"string","title":"Workflow Id"},"version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Version"},"task":{"anyOf":[{"$ref":"#/components/schemas/ActionStatement"},{"type":"null"}]}},"type":"object","required":["role","workflow_id"],"title":"GetWorkflowDefinitionActivityInputs"},"GitBranchInfo":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name","description":"Branch name"},"is_default":{"type":"boolean","title":"Is Default","description":"Whether this branch is the repository default branch","default":false}},"type":"object","required":["name"],"title":"GitBranchInfo","description":"Git branch information for repository management."},"GitCommitInfo":{"properties":{"sha":{"type":"string","maxLength":40,"minLength":40,"title":"Sha","description":"The commit SHA hash"},"message":{"type":"string","title":"Message","description":"The commit message"},"author":{"type":"string","maxLength":255,"title":"Author","description":"The commit author name"},"author_email":{"type":"string","maxLength":255,"title":"Author Email","description":"The commit author email"},"date":{"type":"string","maxLength":50,"title":"Date","description":"The commit date in ISO format"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"List of tags associated with this commit"}},"type":"object","required":["sha","message","author","author_email","date"],"title":"GitCommitInfo","description":"Git commit information for repository management."},"GitHubAppCredentialsRequest":{"properties":{"app_id":{"type":"string","title":"App Id","description":"GitHub App ID"},"private_key":{"type":"string","format":"password","title":"Private Key","description":"GitHub App private key in PEM format","writeOnly":true},"webhook_secret":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"Webhook Secret","description":"GitHub App webhook secret"},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id","description":"GitHub App client ID"}},"type":"object","required":["app_id","private_key"],"title":"GitHubAppCredentialsRequest","description":"Request to register or update GitHub App credentials."},"GitHubAppCredentialsSaveResponse":{"properties":{"message":{"type":"string","title":"Message"},"action":{"type":"string","enum":["created","updated"],"title":"Action"},"app_id":{"type":"string","title":"App Id"}},"type":"object","required":["message","action","app_id"],"title":"GitHubAppCredentialsSaveResponse","description":"Response after creating or updating GitHub App credentials."},"GitHubAppCredentialsStatus":{"properties":{"exists":{"type":"boolean","title":"Exists"},"is_corrupted":{"type":"boolean","title":"Is Corrupted","default":false},"app_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App Id"},"has_webhook_secret":{"type":"boolean","title":"Has Webhook Secret","default":false},"webhook_secret_preview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Secret Preview"},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["exists"],"title":"GitHubAppCredentialsStatus","description":"Status of GitHub App credentials."},"GitHubAppManifest":{"properties":{"name":{"type":"string","title":"Name"},"url":{"type":"string","title":"Url"},"hook_attributes":{"$ref":"#/components/schemas/GitHubWebhookAttributes"},"redirect_url":{"type":"string","title":"Redirect Url"},"callback_urls":{"items":{"type":"string"},"type":"array","title":"Callback Urls"},"setup_url":{"type":"string","title":"Setup Url"},"description":{"type":"string","title":"Description"},"public":{"type":"boolean","title":"Public"},"default_permissions":{"$ref":"#/components/schemas/GitHubAppPermissions"},"default_events":{"items":{"type":"string"},"type":"array","title":"Default Events"}},"type":"object","required":["name","url","hook_attributes","redirect_url","callback_urls","setup_url","description","public","default_permissions","default_events"],"title":"GitHubAppManifest","description":"GitHub App manifest for creating enterprise apps."},"GitHubAppManifestResponse":{"properties":{"manifest":{"$ref":"#/components/schemas/GitHubAppManifest"},"instructions":{"items":{"type":"string"},"type":"array","title":"Instructions"}},"type":"object","required":["manifest","instructions"],"title":"GitHubAppManifestResponse","description":"GitHub App manifest response."},"GitHubAppPermissions":{"properties":{"contents":{"type":"string","title":"Contents"},"metadata":{"type":"string","title":"Metadata"},"pull_requests":{"type":"string","title":"Pull Requests"}},"type":"object","required":["contents","metadata","pull_requests"],"title":"GitHubAppPermissions","description":"Type definition for GitHub App default permissions."},"GitHubAppRepository":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"full_name":{"type":"string","title":"Full Name"},"private":{"type":"boolean","title":"Private"},"default_branch":{"type":"string","title":"Default Branch"},"git_url":{"type":"string","title":"Git Url"},"html_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Html Url"},"installation_id":{"type":"integer","title":"Installation Id"},"installation_account":{"type":"string","title":"Installation Account"},"installation_account_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Installation Account Type"}},"type":"object","required":["id","name","full_name","private","default_branch","git_url","installation_id","installation_account"],"title":"GitHubAppRepository","description":"Repository granted to the configured GitHub App installation."},"GitHubWebhookAttributes":{"properties":{"url":{"type":"string","title":"Url"},"active":{"type":"boolean","title":"Active"}},"type":"object","required":["url","active"],"title":"GitHubWebhookAttributes","description":"Type definition for GitHub webhook attributes."},"GitLabTokenCredentialsRequest":{"properties":{"base_url":{"type":"string","title":"Base Url","description":"Base URL for GitLab.com or a self-managed GitLab instance.","default":"https://gitlab.com"},"token":{"type":"string","format":"password","title":"Token","description":"GitLab personal/project/group access token with api scope.","writeOnly":true}},"type":"object","required":["token"],"title":"GitLabTokenCredentialsRequest","description":"Request to register or update GitLab token credentials."},"GitLabTokenCredentialsSaveResponse":{"properties":{"message":{"type":"string","title":"Message"},"action":{"type":"string","enum":["created","updated"],"title":"Action"},"base_url":{"type":"string","title":"Base Url"}},"type":"object","required":["message","action","base_url"],"title":"GitLabTokenCredentialsSaveResponse","description":"Response after creating or updating GitLab token credentials."},"GitLabTokenCredentialsStatus":{"properties":{"exists":{"type":"boolean","title":"Exists"},"is_corrupted":{"type":"boolean","title":"Is Corrupted","default":false},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Url"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["exists"],"title":"GitLabTokenCredentialsStatus","description":"Status of GitLab token credentials."},"GitSettingsRead":{"properties":{"git_allowed_domains":{"items":{"type":"string"},"type":"array","title":"Git Allowed Domains"},"git_repo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Git Repo Url"},"git_repo_package_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Git Repo Package Name"}},"type":"object","required":["git_allowed_domains"],"title":"GitSettingsRead"},"GitSettingsUpdate":{"properties":{"git_allowed_domains":{"items":{"type":"string"},"type":"array","title":"Git Allowed Domains","description":"Allowed git domains for authentication."},"git_repo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Git Repo Url"},"git_repo_package_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Git Repo Package Name"}},"type":"object","title":"GitSettingsUpdate"},"GraphOperation":{"properties":{"type":{"$ref":"#/components/schemas/GraphOperationType"},"payload":{"additionalProperties":true,"type":"object","title":"Payload","description":"Operation-specific payload"}},"type":"object","required":["type","payload"],"title":"GraphOperation","description":"A single graph operation."},"GraphOperationType":{"type":"string","enum":["add_node","update_node","delete_node","add_edge","delete_edge","move_nodes","update_trigger_position","update_viewport"],"title":"GraphOperationType","description":"Graph operation types."},"GraphOperationsRequest":{"properties":{"base_version":{"type":"integer","title":"Base Version","description":"Expected current graph_version. Returns 409 if mismatched."},"operations":{"items":{"$ref":"#/components/schemas/GraphOperation"},"type":"array","title":"Operations","description":"List of operations to apply atomically"}},"type":"object","required":["base_version","operations"],"title":"GraphOperationsRequest","description":"Request for PATCH /workflows/{id}/graph.\n\nApplies a batch of graph operations with optimistic concurrency."},"GraphResponse":{"properties":{"version":{"type":"integer","title":"Version","description":"Graph version for optimistic concurrency"},"nodes":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Nodes","description":"React Flow nodes"},"edges":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Edges","description":"React Flow edges"},"viewport":{"additionalProperties":true,"type":"object","title":"Viewport"}},"type":"object","required":["version","nodes","edges"],"title":"GraphResponse","description":"Response for GET /workflows/{id}/graph.\n\nReturns the canonical graph projection from Actions."},"GroupCreate":{"properties":{"name":{"type":"string","maxLength":128,"minLength":1,"title":"Name","description":"Group name"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description","description":"Optional description of the group"}},"type":"object","required":["name"],"title":"GroupCreate","description":"Create schema for a group."},"GroupList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/GroupReadWithMembers"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"GroupList","description":"Response schema for listing groups."},"GroupMemberAdd":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id","description":"User ID to add to the group"}},"type":"object","required":["user_id"],"title":"GroupMemberAdd","description":"Schema for adding a member to a group."},"GroupMemberRead":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"email":{"type":"string","title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"added_at":{"type":"string","format":"date-time","title":"Added At"}},"type":"object","required":["user_id","email","added_at"],"title":"GroupMemberRead","description":"Read schema for a group member."},"GroupReadWithMembers":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"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"},"created_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By"},"members":{"items":{"$ref":"#/components/schemas/GroupMemberRead"},"type":"array","title":"Members"},"member_count":{"type":"integer","title":"Member Count","default":0}},"type":"object","required":["id","name","organization_id","created_at","updated_at"],"title":"GroupReadWithMembers","description":"Read schema for a group with its members."},"GroupRoleAssignmentCreate":{"properties":{"group_id":{"type":"string","format":"uuid","title":"Group Id","description":"Group ID to assign"},"role_id":{"type":"string","format":"uuid","title":"Role Id","description":"Role ID to assign to the group"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id","description":"Workspace ID for workspace-level assignment. If None, creates org-wide assignment."}},"type":"object","required":["group_id","role_id"],"title":"GroupRoleAssignmentCreate","description":"Create schema for a group assignment."},"GroupRoleAssignmentList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/GroupRoleAssignmentReadWithDetails"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"GroupRoleAssignmentList","description":"Response schema for listing group assignments."},"GroupRoleAssignmentReadWithDetails":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"group_id":{"type":"string","format":"uuid","title":"Group Id"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"},"role_id":{"type":"string","format":"uuid","title":"Role Id"},"assigned_at":{"type":"string","format":"date-time","title":"Assigned At"},"assigned_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned By"},"group_name":{"type":"string","title":"Group Name"},"role_name":{"type":"string","title":"Role Name"},"workspace_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Name"}},"type":"object","required":["id","organization_id","group_id","role_id","assigned_at","group_name","role_name"],"title":"GroupRoleAssignmentReadWithDetails","description":"Read schema for a group assignment with group and role details."},"GroupRoleAssignmentUpdate":{"properties":{"role_id":{"type":"string","format":"uuid","title":"Role Id","description":"New role ID to assign"}},"type":"object","required":["role_id"],"title":"GroupRoleAssignmentUpdate","description":"Update schema for a group assignment (change role only)."},"GroupUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":128,"minLength":1},{"type":"null"}],"title":"Name","description":"Group name"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description","description":"Optional description of the group"}},"type":"object","title":"GroupUpdate","description":"Update schema for a group."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HarnessType":{"type":"string","enum":["pydantic-ai","claude_code"],"title":"HarnessType","description":"Supported agent harnesses."},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status"}},"type":"object","required":["status"],"title":"HealthResponse"},"ImageUrl":{"properties":{"url":{"type":"string","title":"Url"},"force_download":{"anyOf":[{"type":"boolean"},{"type":"string","const":"allow-local"}],"title":"Force Download","default":false},"vendor_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Vendor Metadata"},"kind":{"type":"string","const":"image-url","title":"Kind","default":"image-url"},"media_type":{"type":"string","title":"Media Type","description":"Return the media type of the file, based on the URL or the provided `media_type`.","readOnly":true},"identifier":{"type":"string","title":"Identifier","description":"The identifier of the file, such as a unique ID.\n\nThis identifier can be provided to the model in a message to allow it to refer to this file in a tool call argument,\nand the tool can look up the file in question by iterating over the message history and finding the matching `FileUrl`.\n\nThis identifier is only automatically passed to the model when the `FileUrl` is returned by a tool.\nIf you're passing the `FileUrl` as a user message, it's up to you to include a separate text part with the identifier,\ne.g. \"This is file <identifier>:\" preceding the `FileUrl`.\n\nIt's also included in inline-text delimiters for providers that require inlining text documents, so the model can\ndistinguish multiple files.","readOnly":true}},"type":"object","required":["url","media_type","identifier"],"title":"ImageUrl","description":"A URL to an image."},"InboxGroup":{"type":"string","enum":["review_required","running","error","completed"],"title":"InboxGroup","description":"Display groups for inbox items.\n\nGroups are derived from approval state and live workflow execution status,\nso membership cannot be expressed as a pure SQL filter."},"InboxItemRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique inbox item ID"},"type":{"$ref":"#/components/schemas/InboxItemType","description":"Type of inbox item"},"title":{"type":"string","title":"Title","description":"Display title"},"preview":{"type":"string","title":"Preview","description":"Preview text"},"status":{"$ref":"#/components/schemas/InboxItemStatus","description":"Item status"},"unread":{"type":"boolean","title":"Unread","description":"Whether the item is unread"},"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"},"workflow":{"anyOf":[{"$ref":"#/components/schemas/WorkflowSummary"},{"type":"null"}],"description":"Associated workflow"},"created_by":{"anyOf":[{"$ref":"#/components/schemas/UserSummary"},{"type":"null"}],"description":"User who created the source entity (None for automation-initiated items)"},"source_id":{"type":"string","format":"uuid","title":"Source Id","description":"ID of the source entity"},"source_type":{"type":"string","title":"Source Type","description":"Type of source entity (e.g., agent_session)"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Type-specific metadata"}},"type":"object","required":["id","type","title","preview","status","unread","created_at","updated_at","source_id","source_type"],"title":"InboxItemRead","description":"Read model for inbox items."},"InboxItemStatus":{"type":"string","enum":["pending","completed","failed"],"title":"InboxItemStatus","description":"Status of inbox items."},"InboxItemType":{"type":"string","enum":["approval","agent_run"],"title":"InboxItemType","description":"Types of inbox items."},"InboxPendingCount":{"properties":{"count":{"type":"integer","minimum":0.0,"title":"Count","description":"Number of pending inbox items"}},"type":"object","required":["count"],"title":"InboxPendingCount","description":"Count of pending inbox items that require attention."},"InferredColumn":{"properties":{"csv_header":{"type":"string","title":"Csv Header","description":"Original column header in the CSV file"},"field_name":{"type":"string","title":"Field Name","description":"Column name created in Tracecat"},"field_type":{"$ref":"#/components/schemas/SqlType","description":"Inferred SQL type for the column"}},"type":"object","required":["csv_header","field_name","field_type"],"title":"InferredColumn","description":"Inferred column mapping between CSV headers and table columns."},"InlineObject":{"properties":{"typename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Typename"},"type":{"type":"string","const":"inline","title":"Type"},"data":{"title":"Data"}},"type":"object","required":["type","data"],"title":"InlineObject","description":"Data stored inline (not externalized)."},"Integer":{"properties":{"component_id":{"type":"string","const":"integer","title":"Component Id","default":"integer"},"min_val":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Val"},"max_val":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Val"},"step":{"type":"integer","title":"Step","default":1}},"type":"object","title":"Integer"},"IntegrationArtifact":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"scope":{"anyOf":[{"$ref":"#/components/schemas/ArtifactScope"},{"type":"null"}]},"type":{"type":"string","const":"integration","title":"Type","default":"integration"}},"additionalProperties":false,"type":"object","required":["id","title"],"title":"IntegrationArtifact","description":"Integration artifact stub. Extend when integration surfaces are wired."},"IntegrationOAuthCallback":{"properties":{"status":{"type":"string","title":"Status","description":"The status of the OAuth callback","default":"connected"},"provider_id":{"type":"string","title":"Provider Id","description":"The provider that the user connected to"},"redirect_url":{"type":"string","title":"Redirect Url","description":"The URL to redirect to after the OAuth callback"}},"type":"object","required":["provider_id","redirect_url"],"title":"IntegrationOAuthCallback","description":"Response for OAuth callback."},"IntegrationOAuthConnect":{"properties":{"auth_url":{"type":"string","title":"Auth Url","description":"The URL to redirect to for OAuth authentication"},"provider_id":{"type":"string","title":"Provider Id","description":"The provider that the user connected to"}},"type":"object","required":["auth_url","provider_id"],"title":"IntegrationOAuthConnect","description":"Request model for connecting an integration."},"IntegrationRead":{"properties":{"id":{"type":"string","format":"uuid4","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"provider_id":{"type":"string","title":"Provider Id"},"authorization_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization Endpoint","description":"OAuth authorization endpoint configured for this integration."},"token_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Endpoint","description":"OAuth token endpoint configured for this integration."},"token_type":{"type":"string","title":"Token Type"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id","description":"OAuth client ID for the provider"},"granted_scopes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Granted Scopes","description":"OAuth scopes granted for this integration"},"requested_scopes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Requested Scopes","description":"OAuth scopes requested by user for this integration"},"status":{"$ref":"#/components/schemas/IntegrationStatus"},"is_expired":{"type":"boolean","title":"Is Expired"}},"type":"object","required":["id","created_at","updated_at","provider_id","token_type","expires_at","status","is_expired"],"title":"IntegrationRead","description":"Response model for user integration."},"IntegrationReadMinimal":{"properties":{"id":{"type":"string","format":"uuid4","title":"Id"},"provider_id":{"type":"string","title":"Provider Id"},"status":{"$ref":"#/components/schemas/IntegrationStatus"},"is_expired":{"type":"boolean","title":"Is Expired"}},"type":"object","required":["id","provider_id","status","is_expired"],"title":"IntegrationReadMinimal","description":"Response model for user integration."},"IntegrationStatus":{"type":"string","enum":["not_configured","configured","connected","reauth_required"],"title":"IntegrationStatus","description":"Status of an integration."},"IntegrationTestConnectionResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the connection test was successful"},"provider_id":{"type":"string","title":"Provider Id","description":"The provider that was tested"},"message":{"type":"string","title":"Message","description":"Message describing the test result"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"Error message if the test failed"}},"type":"object","required":["success","provider_id","message"],"title":"IntegrationTestConnectionResponse","description":"Response for testing integration connection."},"IntegrationUpdate":{"properties":{"grant_type":{"$ref":"#/components/schemas/OAuthGrantType","description":"OAuth grant type for this integration"},"client_id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Client Id","description":"OAuth client ID for the provider"},"client_secret":{"anyOf":[{"type":"string","minLength":1,"format":"password","writeOnly":true},{"type":"null"}],"title":"Client Secret","description":"OAuth client secret for the provider"},"authorization_endpoint":{"anyOf":[{"type":"string","minLength":8},{"type":"null"}],"title":"Authorization Endpoint","description":"OAuth authorization endpoint URL. Overrides provider defaults when set."},"token_endpoint":{"anyOf":[{"type":"string","minLength":8},{"type":"null"}],"title":"Token Endpoint","description":"OAuth token endpoint URL. Overrides provider defaults when set."},"scopes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Scopes","description":"OAuth scopes to request for this integration"}},"type":"object","required":["grant_type"],"title":"IntegrationUpdate","description":"Request model for updating an integration."},"InteractionCategory":{"type":"string","enum":["slack"],"title":"InteractionCategory"},"InteractionContext":{"properties":{"interaction_id":{"type":"string","format":"uuid","title":"Interaction Id"},"execution_id":{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))","title":"Execution Id"},"action_ref":{"type":"string","title":"Action Ref"}},"type":"object","required":["interaction_id","execution_id","action_ref"],"title":"InteractionContext","description":"The context of the interaction."},"InteractionInput":{"properties":{"interaction_id":{"type":"string","format":"uuid","title":"Interaction Id"},"execution_id":{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))","title":"Execution Id"},"action_ref":{"type":"string","title":"Action Ref"},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["interaction_id","execution_id","action_ref","data"],"title":"InteractionInput","description":"Input for the workflow interaction handler. This is used on the client side."},"InteractionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"type":{"$ref":"#/components/schemas/InteractionType"},"status":{"$ref":"#/components/schemas/InteractionStatus"},"request_payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Request Payload"},"response_payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Response Payload"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"wf_exec_id":{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))","title":"Wf Exec Id"},"actor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor"},"action_ref":{"type":"string","title":"Action Ref"},"action_type":{"type":"string","title":"Action Type"}},"type":"object","required":["id","created_at","updated_at","type","status","request_payload","response_payload","wf_exec_id","actor","action_ref","action_type"],"title":"InteractionRead","description":"Model for reading an interaction."},"InteractionResult":{"properties":{"message":{"type":"string","title":"Message"},"detail":{"anyOf":[{},{"type":"null"}],"title":"Detail"}},"type":"object","required":["message"],"title":"InteractionResult","description":"Output for the workflow interaction handler. This is used on the client side."},"InteractionStatus":{"type":"string","enum":["idle","pending","error","timed_out","completed"],"title":"InteractionStatus"},"InteractionType":{"type":"string","enum":["approval","response"],"title":"InteractionType"},"InvitationStatus":{"type":"string","enum":["pending","accepted","revoked"],"title":"InvitationStatus","description":"Invitation lifecycle status."},"IssuedMCPPersonalAccessToken":{"properties":{"raw_token":{"type":"string","title":"Raw Token"},"token":{"$ref":"#/components/schemas/MCPPersonalAccessTokenRead"}},"type":"object","required":["raw_token","token"],"title":"IssuedMCPPersonalAccessToken"},"IssuedServiceAccountApiKey":{"properties":{"raw_key":{"type":"string","title":"Raw Key"},"api_key":{"$ref":"#/components/schemas/ServiceAccountApiKeyRead"}},"type":"object","required":["raw_key","api_key"],"title":"IssuedServiceAccountApiKey"},"JoinStrategy":{"type":"string","enum":["any","all"],"title":"JoinStrategy"},"MCPAuthType":{"type":"string","enum":["OAUTH2","CUSTOM","NONE"],"title":"MCPAuthType","description":"Authentication type for MCP integrations."},"MCPCatalogConnectRequest":{"properties":{"connection_option_id":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Connection Option Id","description":"Platform MCP catalog connection option to connect"}},"type":"object","title":"MCPCatalogConnectRequest","description":"Request for one-click connecting a platform MCP catalog entry.\n\nCarries no connection fields, so the recipe cannot be inferred from the\npayload; the caller names the connection option it offered."},"MCPCatalogConnectResponse":{"properties":{"status":{"type":"string","enum":["configured","connected","oauth_redirect"],"title":"Status"},"mcp_integration":{"anyOf":[{"$ref":"#/components/schemas/MCPIntegrationRead"},{"type":"null"}]},"auth_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Url"},"provider_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Id"}},"type":"object","required":["status"],"title":"MCPCatalogConnectResponse","description":"Response for connecting a platform MCP catalog entry."},"MCPConfigField":{"properties":{"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"},"target":{"type":"string","enum":["server_uri","oauth_client","http_header","stdio_env"],"title":"Target"},"required":{"type":"boolean","title":"Required","default":true},"secret":{"type":"boolean","title":"Secret","default":false},"placeholder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Placeholder"},"type":{"type":"string","enum":["string","url"],"title":"Type","default":"string"}},"type":"object","required":["key","label","description","target"],"title":"MCPConfigField","description":"Typed configure-dialog field declared by a catalog spec."},"MCPConnectionCredential":{"properties":{"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"},"required":{"type":"boolean","title":"Required","default":true},"secret":{"type":"boolean","title":"Secret","default":true},"default_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Value"},"placeholder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Placeholder","description":"Optional placeholder shown in the configure dialog to hint the expected value format (e.g. 'https://your-console.example.net')."},"type":{"type":"string","enum":["string","url"],"title":"Type","description":"Value type used for light client/server validation. 'url' requires an http(s):// scheme.","default":"string"},"target":{"type":"string","enum":["server_uri","oauth_client","http_header","stdio_env"],"title":"Target"}},"type":"object","required":["key","label","description","target"],"title":"MCPConnectionCredential","description":"User-supplied value needed to materialize a catalog connection."},"MCPConnectionOption":{"properties":{"id":{"type":"string","maxLength":80,"minLength":1,"title":"Id"},"label":{"type":"string","maxLength":120,"minLength":1,"title":"Label"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description"},"docs_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Docs Url"},"connection_spec":{"$ref":"#/components/schemas/MCPConnectionSpec"}},"type":"object","required":["id","label","connection_spec"],"title":"MCPConnectionOption","description":"A connectable transport/auth option for one catalog provider."},"MCPConnectionSpec":{"oneOf":[{"$ref":"#/components/schemas/MCPHTTPOAuth2ConnectionSpec"},{"$ref":"#/components/schemas/MCPHTTPCustomConnectionSpec"},{"$ref":"#/components/schemas/MCPHTTPNoneConnectionSpec"},{"$ref":"#/components/schemas/MCPStdioCustomConnectionSpec"},{"$ref":"#/components/schemas/MCPStdioNoneConnectionSpec"}],"discriminator":{"propertyName":"kind","mapping":{"http_custom":"#/components/schemas/MCPHTTPCustomConnectionSpec","http_none":"#/components/schemas/MCPHTTPNoneConnectionSpec","http_oauth2":"#/components/schemas/MCPHTTPOAuth2ConnectionSpec","stdio_custom":"#/components/schemas/MCPStdioCustomConnectionSpec","stdio_none":"#/components/schemas/MCPStdioNoneConnectionSpec"}}},"MCPHTTPCustomConnectionSpec":{"properties":{"requires_config":{"type":"boolean","title":"Requires Config","default":false},"credentials":{"items":{"$ref":"#/components/schemas/MCPConnectionCredential"},"type":"array","title":"Credentials"},"kind":{"type":"string","const":"http_custom","title":"Kind","default":"http_custom"},"server_type":{"type":"string","const":"http","title":"Server Type","default":"http"},"auth_type":{"type":"string","const":"CUSTOM","title":"Auth Type","default":"CUSTOM"},"server_uri":{"type":"string","title":"Server Uri"},"config_fields":{"items":{"$ref":"#/components/schemas/MCPConfigField"},"type":"array","title":"Config Fields","description":"Configure-dialog view of ``credentials``; same data, UI field shape.","readOnly":true}},"type":"object","required":["server_uri","config_fields"],"title":"MCPHTTPCustomConnectionSpec","description":"HTTP MCP server using user-provided headers or API keys."},"MCPHTTPNoneConnectionSpec":{"properties":{"requires_config":{"type":"boolean","title":"Requires Config","default":false},"credentials":{"items":{"$ref":"#/components/schemas/MCPConnectionCredential"},"type":"array","title":"Credentials"},"kind":{"type":"string","const":"http_none","title":"Kind","default":"http_none"},"server_type":{"type":"string","const":"http","title":"Server Type","default":"http"},"auth_type":{"type":"string","const":"NONE","title":"Auth Type","default":"NONE"},"server_uri":{"type":"string","title":"Server Uri"},"config_fields":{"items":{"$ref":"#/components/schemas/MCPConfigField"},"type":"array","title":"Config Fields","description":"Configure-dialog view of ``credentials``; same data, UI field shape.","readOnly":true}},"type":"object","required":["server_uri","config_fields"],"title":"MCPHTTPNoneConnectionSpec","description":"HTTP MCP server with no authentication."},"MCPHTTPOAuth2ConnectionSpec":{"properties":{"requires_config":{"type":"boolean","title":"Requires Config","default":false},"credentials":{"items":{"$ref":"#/components/schemas/MCPConnectionCredential"},"type":"array","title":"Credentials"},"kind":{"type":"string","const":"http_oauth2","title":"Kind","default":"http_oauth2"},"server_type":{"type":"string","const":"http","title":"Server Type","default":"http"},"auth_type":{"type":"string","const":"OAUTH2","title":"Auth Type","default":"OAUTH2"},"server_uri":{"type":"string","title":"Server Uri"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"oauth_resource":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth Resource"},"oauth_authorization_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth Authorization Endpoint"},"oauth_token_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth Token Endpoint"},"oauth_authorize_params":{"additionalProperties":{"type":"string"},"type":"object","title":"Oauth Authorize Params"},"config_fields":{"items":{"$ref":"#/components/schemas/MCPConfigField"},"type":"array","title":"Config Fields","description":"Configure-dialog view of ``credentials``; same data, UI field shape.","readOnly":true}},"type":"object","required":["server_uri","config_fields"],"title":"MCPHTTPOAuth2ConnectionSpec","description":"HTTP MCP server using MCP OAuth."},"MCPHttpIntegrationCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":3,"title":"Name","description":"MCP integration name"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description","description":"Optional description"},"timeout":{"anyOf":[{"type":"integer","maximum":300.0,"minimum":1.0},{"type":"null"}],"title":"Timeout","description":"Timeout in seconds","default":30},"catalog_slug":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Catalog Slug","description":"Platform MCP catalog slug this workspace config is created from"},"server_type":{"type":"string","const":"http","title":"Server Type","default":"http"},"server_uri":{"type":"string","title":"Server Uri","description":"MCP server endpoint URL (required for http type)"},"auth_type":{"$ref":"#/components/schemas/MCPAuthType","description":"Authentication type (for http type)","default":"NONE"},"oauth_integration_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Oauth Integration Id","description":"OAuth integration ID (required for oauth2 auth_type)"},"custom_credentials":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"Custom Credentials","description":"HTTP headers as a JSON object. Required for custom auth type; optional additional headers for OAuth2 auth type."},"oauth_client_credentials":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"Oauth Client Credentials","description":"OAuth client credentials as a JSON object (client_id / client_secret) for catalog OAuth2 rows that declare an 'oauth_client' credential. Kept separate from custom_credentials so one connect can carry both a user-created OAuth client and extra HTTP headers."}},"type":"object","required":["name","server_uri"],"title":"MCPHttpIntegrationCreate","description":"Request model for creating an HTTP MCP integration."},"MCPHttpIntegrationTestConnectionRequest":{"properties":{"mcp_integration_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Mcp Integration Id"},"timeout":{"anyOf":[{"type":"integer","maximum":300.0,"minimum":1.0},{"type":"null"}],"title":"Timeout"},"server_type":{"type":"string","const":"http","title":"Server Type","default":"http"},"server_uri":{"type":"string","maxLength":2048,"minLength":1,"title":"Server Uri"},"auth_type":{"$ref":"#/components/schemas/MCPAuthType","default":"NONE"},"oauth_integration_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Oauth Integration Id"},"custom_credentials":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"Custom Credentials","description":"JSON object of custom headers; falls back to stored headers when omitted"}},"type":"object","required":["server_uri"],"title":"MCPHttpIntegrationTestConnectionRequest","description":"Request to test connectivity against an unsaved HTTP MCP configuration."},"MCPHttpServerConfig":{"properties":{"type":{"type":"string","const":"http","title":"Type"},"name":{"type":"string","title":"Name"},"url":{"type":"string","title":"Url"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers"},"transport":{"type":"string","enum":["http","sse"],"title":"Transport"},"timeout":{"type":"integer","title":"Timeout"},"id":{"type":"string","title":"Id"}},"type":"object","required":["name","url"],"title":"MCPHttpServerConfig","description":"Configuration for a user-defined MCP server over HTTP/SSE.\n\nUsers can connect custom MCP servers to their agents - whether running as\nDocker containers, local processes, or remote services. The server must\nexpose an HTTP or SSE endpoint.\n\nExample:\n    {\n        \"name\": \"internal-tools\",\n        \"url\": \"http://host.docker.internal:8080\",\n        \"transport\": \"http\",\n        \"headers\": {\"Authorization\": \"Bearer ${{ SECRETS.internal.API_KEY }}\"}\n    }"},"MCPIntegration":{"properties":{"component_id":{"type":"string","const":"mcp-integration","title":"Component Id","default":"mcp-integration"},"multiple":{"type":"boolean","title":"Multiple","default":true}},"type":"object","title":"MCPIntegration"},"MCPIntegrationCreate":{"oneOf":[{"$ref":"#/components/schemas/MCPHttpIntegrationCreate"},{"$ref":"#/components/schemas/MCPStdioIntegrationCreate"}]},"MCPIntegrationRead":{"properties":{"id":{"type":"string","format":"uuid4","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"slug":{"type":"string","title":"Slug"},"server_type":{"$ref":"#/components/schemas/MCPServerType"},"server_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server Uri"},"auth_type":{"$ref":"#/components/schemas/MCPAuthType"},"oauth_integration_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Oauth Integration Id"},"state":{"type":"string","enum":["not_configured","configured","connected","reauth_required","error"],"title":"State"},"stdio_command":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stdio Command"},"stdio_args":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Stdio Args"},"has_stdio_env":{"type":"boolean","title":"Has Stdio Env","default":false},"timeout":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Timeout"},"tools":{"anyOf":[{"items":{"$ref":"#/components/schemas/MCPToolSummary"},"type":"array"},{"type":"null"}],"title":"Tools"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","workspace_id","name","description","slug","server_type","server_uri","auth_type","oauth_integration_id","state","stdio_command","stdio_args","timeout","created_at","updated_at"],"title":"MCPIntegrationRead","description":"Response model for MCP integration."},"MCPIntegrationTestConnectionRequest":{"oneOf":[{"$ref":"#/components/schemas/MCPHttpIntegrationTestConnectionRequest"},{"$ref":"#/components/schemas/MCPStdioIntegrationTestConnectionRequest"}]},"MCPIntegrationTestConnectionResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"mcp_integration_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Mcp Integration Id"},"tools":{"anyOf":[{"items":{"$ref":"#/components/schemas/MCPToolSummary"},"type":"array"},{"type":"null"}],"title":"Tools"},"message":{"type":"string","title":"Message"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["success","message"],"title":"MCPIntegrationTestConnectionResponse","description":"Response for testing connectivity to an MCP server."},"MCPIntegrationUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":3},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description"},"server_type":{"anyOf":[{"$ref":"#/components/schemas/MCPServerType"},{"type":"null"}],"description":"MCP server type. Changing this clears fields from the previous type."},"server_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server Uri"},"auth_type":{"anyOf":[{"$ref":"#/components/schemas/MCPAuthType"},{"type":"null"}]},"oauth_integration_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Oauth Integration Id"},"custom_credentials":{"anyOf":[{"type":"string","format":"password","writeOnly":true},{"type":"null"}],"title":"Custom Credentials","description":"Custom credentials as JSON headers. Required for custom auth type; optional additional headers for OAuth2 auth type."},"stdio_command":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Stdio Command","description":"Stdio command to run for stdio-type servers (e.g., 'npx')"},"stdio_args":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Stdio Args","description":"Arguments for the stdio command"},"stdio_env":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Stdio Env","description":"Environment variables for stdio-type servers"},"timeout":{"anyOf":[{"type":"integer","maximum":300.0,"minimum":1.0},{"type":"null"}],"title":"Timeout","description":"Timeout in seconds"}},"type":"object","title":"MCPIntegrationUpdate","description":"Request model for updating an MCP integration."},"MCPPackageOption":{"properties":{"manager":{"type":"string","title":"Manager"},"command":{"type":"string","title":"Command"},"args":{"items":{"type":"string"},"type":"array","title":"Args"},"package":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Package"}},"type":"object","required":["manager","command"],"title":"MCPPackageOption","description":"Supported stdio package launch option."},"MCPPersonalAccessTokenCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["name"],"title":"MCPPersonalAccessTokenCreate"},"MCPPersonalAccessTokenIssueResponse":{"properties":{"issued_token":{"$ref":"#/components/schemas/IssuedMCPPersonalAccessToken"}},"type":"object","required":["issued_token"],"title":"MCPPersonalAccessTokenIssueResponse"},"MCPPersonalAccessTokenRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"key_id":{"type":"string","title":"Key Id"},"preview":{"type":"string","title":"Preview"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"created_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By"},"revoked_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Revoked By"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","user_id","organization_id","workspace_id","name","key_id","preview","created_at","updated_at"],"title":"MCPPersonalAccessTokenRead"},"MCPServerToolSummary":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"enabled":{"type":"boolean","title":"Enabled"},"requires_approval":{"type":"boolean","title":"Requires Approval"},"status":{"type":"string","enum":["available","missing"],"title":"Status"}},"type":"object","required":["name"],"title":"MCPServerToolSummary","description":"Non-secret summary of a verified user MCP tool."},"MCPServerType":{"type":"string","enum":["http","stdio"]},"MCPStdioCustomConnectionSpec":{"properties":{"requires_config":{"type":"boolean","title":"Requires Config","default":false},"credentials":{"items":{"$ref":"#/components/schemas/MCPConnectionCredential"},"type":"array","title":"Credentials"},"kind":{"type":"string","const":"stdio_custom","title":"Kind","default":"stdio_custom"},"server_type":{"type":"string","const":"stdio","title":"Server Type","default":"stdio"},"auth_type":{"type":"string","const":"CUSTOM","title":"Auth Type","default":"CUSTOM"},"stdio_command":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stdio Command"},"stdio_args":{"items":{"type":"string"},"type":"array","title":"Stdio Args"},"stdio_env":{"items":{"type":"string"},"type":"array","title":"Stdio Env"},"packages":{"items":{"$ref":"#/components/schemas/MCPPackageOption"},"type":"array","title":"Packages"},"config_fields":{"items":{"$ref":"#/components/schemas/MCPConfigField"},"type":"array","title":"Config Fields","description":"Configure-dialog view of ``credentials``; same data, UI field shape.","readOnly":true}},"type":"object","required":["config_fields"],"title":"MCPStdioCustomConnectionSpec","description":"Stdio MCP server using user-provided env vars."},"MCPStdioIntegrationCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":3,"title":"Name","description":"MCP integration name"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description","description":"Optional description"},"timeout":{"anyOf":[{"type":"integer","maximum":300.0,"minimum":1.0},{"type":"null"}],"title":"Timeout","description":"Timeout in seconds","default":30},"catalog_slug":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Catalog Slug","description":"Platform MCP catalog slug this workspace config is created from"},"server_type":{"type":"string","const":"stdio","title":"Server Type","default":"stdio"},"stdio_command":{"type":"string","maxLength":500,"title":"Stdio Command","description":"Stdio command to run for stdio-type servers (e.g., 'npx')"},"stdio_args":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Stdio Args","description":"Arguments for the stdio command (e.g., ['@modelcontextprotocol/server-github'])"},"stdio_env":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Stdio Env","description":"Environment variables for stdio-type servers (can reference secrets)"}},"type":"object","required":["name","stdio_command"],"title":"MCPStdioIntegrationCreate","description":"Request model for creating a stdio MCP integration."},"MCPStdioIntegrationTestConnectionRequest":{"properties":{"mcp_integration_id":{"type":"string","format":"uuid4","title":"Mcp Integration Id"},"server_type":{"type":"string","const":"stdio","title":"Server Type","default":"stdio"}},"additionalProperties":false,"type":"object","required":["mcp_integration_id"],"title":"MCPStdioIntegrationTestConnectionRequest","description":"Request to test connectivity against a saved stdio MCP integration."},"MCPStdioNoneConnectionSpec":{"properties":{"requires_config":{"type":"boolean","title":"Requires Config","default":false},"credentials":{"items":{"$ref":"#/components/schemas/MCPConnectionCredential"},"type":"array","title":"Credentials"},"kind":{"type":"string","const":"stdio_none","title":"Kind","default":"stdio_none"},"server_type":{"type":"string","const":"stdio","title":"Server Type","default":"stdio"},"auth_type":{"type":"string","const":"NONE","title":"Auth Type","default":"NONE"},"stdio_command":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stdio Command"},"stdio_args":{"items":{"type":"string"},"type":"array","title":"Stdio Args"},"stdio_env":{"items":{"type":"string"},"type":"array","title":"Stdio Env"},"packages":{"items":{"$ref":"#/components/schemas/MCPPackageOption"},"type":"array","title":"Packages"},"config_fields":{"items":{"$ref":"#/components/schemas/MCPConfigField"},"type":"array","title":"Config Fields","description":"Configure-dialog view of ``credentials``; same data, UI field shape.","readOnly":true}},"type":"object","required":["config_fields"],"title":"MCPStdioNoneConnectionSpec","description":"Stdio MCP server with no authentication."},"MCPStdioServerConfig":{"properties":{"type":{"type":"string","const":"stdio","title":"Type"},"name":{"type":"string","title":"Name"},"command":{"type":"string","title":"Command"},"args":{"items":{"type":"string"},"type":"array","title":"Args"},"env":{"additionalProperties":{"type":"string"},"type":"object","title":"Env"},"timeout":{"type":"integer","title":"Timeout"},"id":{"type":"string","title":"Id"},"tools":{"items":{"$ref":"#/components/schemas/MCPServerToolSummary"},"type":"array","title":"Tools"}},"type":"object","required":["type","name","command"],"title":"MCPStdioServerConfig","description":"Configuration for a stdio MCP server."},"MCPToolPolicyUpdate":{"properties":{"name":{"type":"string","minLength":1,"title":"Name"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"requires_approval":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Requires Approval"}},"type":"object","required":["name"],"title":"MCPToolPolicyUpdate","description":"Per-tool policy update for a stored MCP integration tool."},"MCPToolPolicyUpdateRequest":{"properties":{"tools":{"items":{"$ref":"#/components/schemas/MCPToolPolicyUpdate"},"type":"array","minItems":1,"title":"Tools"}},"type":"object","required":["tools"],"title":"MCPToolPolicyUpdateRequest","description":"Request to update per-tool MCP integration policy."},"MCPToolSummary":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"enabled":{"type":"boolean","title":"Enabled","default":true},"requires_approval":{"type":"boolean","title":"Requires Approval","default":false},"status":{"type":"string","enum":["available","missing"],"title":"Status","default":"available"}},"type":"object","required":["name"],"title":"MCPToolSummary","description":"Summary of a tool discovered on a remote MCP server."},"MCPVerificationStatusRead":{"properties":{"status":{"type":"string","enum":["idle","verifying","succeeded","failed","superseded"],"title":"Status"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["status"],"title":"MCPVerificationStatusRead","description":"Response model for saved MCP verification status."},"McpIntegrationMappingAffectedPreset":{"properties":{"preset_slug":{"type":"string","title":"Preset Slug"},"preset_name":{"type":"string","title":"Preset Name"},"version":{"type":"integer","title":"Version"},"path":{"type":"string","title":"Path"}},"type":"object","required":["preset_slug","preset_name","version","path"],"title":"McpIntegrationMappingAffectedPreset"},"McpIntegrationMappingAffectedWorkflow":{"properties":{"workflow_source_id":{"type":"string","title":"Workflow Source Id"},"workflow_path":{"type":"string","title":"Workflow Path"},"workflow_title":{"type":"string","title":"Workflow Title"},"action_ref":{"type":"string","title":"Action Ref"}},"type":"object","required":["workflow_source_id","workflow_path","workflow_title","action_ref"],"title":"McpIntegrationMappingAffectedWorkflow"},"McpIntegrationMappingCandidate":{"properties":{"mcp_integration_id":{"type":"string","format":"uuid","title":"Mcp Integration Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"server_type":{"type":"string","title":"Server Type"},"auth_type":{"type":"string","title":"Auth Type"}},"type":"object","required":["mcp_integration_id","slug","name","server_type","auth_type"],"title":"McpIntegrationMappingCandidate"},"McpIntegrationMappingRequirement":{"properties":{"source_mcp_integration_id":{"type":"string","format":"uuid","title":"Source Mcp Integration Id"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"server_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server Type"},"auth_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Type"},"reason":{"$ref":"#/components/schemas/McpIntegrationMappingRequirementReason"},"message":{"type":"string","title":"Message"},"candidates":{"items":{"$ref":"#/components/schemas/McpIntegrationMappingCandidate"},"type":"array","title":"Candidates"},"affected_presets":{"items":{"$ref":"#/components/schemas/McpIntegrationMappingAffectedPreset"},"type":"array","title":"Affected Presets"},"affected_workflows":{"items":{"$ref":"#/components/schemas/McpIntegrationMappingAffectedWorkflow"},"type":"array","title":"Affected Workflows"}},"type":"object","required":["source_mcp_integration_id","slug","name","server_type","auth_type","reason","message","candidates","affected_presets","affected_workflows"],"title":"McpIntegrationMappingRequirement"},"McpIntegrationMappingRequirementReason":{"type":"string","enum":["unresolved","invalid_selection","conflicting_metadata"]},"McpIntegrationMappingSelection":{"properties":{"source_mcp_integration_id":{"type":"string","format":"uuid","title":"Source Mcp Integration Id"},"target_mcp_integration_id":{"type":"string","format":"uuid","title":"Target Mcp Integration Id"}},"type":"object","required":["source_mcp_integration_id","target_mcp_integration_id"],"title":"McpIntegrationMappingSelection","description":"User-selected local MCP integration for one source integration reference."},"MentionTargetType":{"type":"string","enum":["agent"],"title":"MentionTargetType","description":"Polymorphic target kind for a parsed case-comment mention.\n\nOnly ``AGENT`` is supported today. The finite set lives here (rather than\nas a bare ``str`` checked at runtime) so every mention-aware call site —\nthe parser, persistence, and API read schema — shares one exhaustive,\ntype-checked domain of valid target kinds."},"MessageKind":{"type":"string","enum":["chat-message","approval-request","approval-decision","internal","compaction","cancelled"],"title":"MessageKind","description":"The type/kind of message stored in the chat."},"ModelConfig":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"The name of the model. This is used to identify the model in the system."},"provider":{"type":"string","maxLength":100,"minLength":1,"title":"Provider","description":"The provider of the model. This is used to determine which organization secret to use for this model."},"catalog_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Catalog Id","description":"Optional catalog row backing this model selection. Populated for v2 org-scoped cloud/custom catalog rows; left ``None`` for platform (built-in) models that resolve credentials via ``agent-{provider}-credentials``."},"org_secret_name":{"type":"string","maxLength":200,"minLength":1,"title":"Org Secret Name","description":"The name of the organization secret to use for this model. This secret must be configured in the organization settings."},"secrets":{"$ref":"#/components/schemas/ModelSecretConfig","description":"The secrets to use for this model. This is used to determine which organization secret to use for this model."}},"type":"object","required":["name","provider","org_secret_name","secrets"],"title":"ModelConfig"},"ModelCredentialCreate":{"properties":{"provider":{"type":"string","maxLength":100,"minLength":1,"title":"Provider"},"credentials":{"additionalProperties":{"type":"string"},"type":"object","title":"Credentials","description":"Provider-specific credentials (e.g., api_key)"}},"type":"object","required":["provider","credentials"],"title":"ModelCredentialCreate","description":"Model for creating model credentials."},"ModelCredentialUpdate":{"properties":{"credentials":{"additionalProperties":{"type":"string"},"type":"object","title":"Credentials","description":"Provider-specific credentials to update"}},"type":"object","required":["credentials"],"title":"ModelCredentialUpdate","description":"Model for updating model credentials."},"ModelSecretConfig":{"properties":{"required":{"items":{"type":"string"},"type":"array","title":"Required"},"optional":{"items":{"type":"string"},"type":"array","title":"Optional"}},"type":"object","title":"ModelSecretConfig"},"OAuth2AuthorizeResponse":{"properties":{"authorization_url":{"type":"string","title":"Authorization Url"}},"type":"object","required":["authorization_url"],"title":"OAuth2AuthorizeResponse"},"OAuthGrantType":{"type":"string","enum":["authorization_code","client_credentials"],"title":"OAuthGrantType","description":"Grant type for OAuth 2.0."},"ObjectRef":{"properties":{"backend":{"type":"string","const":"s3","title":"Backend","default":"s3"},"bucket":{"type":"string","title":"Bucket"},"key":{"type":"string","title":"Key"},"size_bytes":{"type":"integer","title":"Size Bytes"},"sha256":{"type":"string","title":"Sha256"},"content_type":{"type":"string","title":"Content Type","default":"application/json"},"encoding":{"type":"string","enum":["json","json+zstd","json+gzip"],"title":"Encoding","default":"json"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["bucket","key","size_bytes","sha256"],"title":"ObjectRef","description":"Reference to an externalized object in blob storage.\n\nThis is a typed reference that replaces large payloads in workflow context.\nOnly dereference ObjectRef instances created by Tracecat - never arbitrary URIs."},"OrgCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"slug":{"type":"string","maxLength":63,"minLength":1,"pattern":"^[a-z0-9-]+$","title":"Slug"}},"type":"object","required":["name","slug"],"title":"OrgCreate","description":"Create organization request."},"OrgDomainCreate":{"properties":{"domain":{"type":"string","maxLength":255,"minLength":1,"title":"Domain"},"is_primary":{"type":"boolean","title":"Is Primary","default":false}},"type":"object","required":["domain"],"title":"OrgDomainCreate","description":"Create organization domain request."},"OrgDomainUpdate":{"properties":{"is_primary":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Primary"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"OrgDomainUpdate","description":"Update organization domain request."},"OrgInvitationAccept":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"OrgInvitationAccept","description":"Request body for accepting an organization invitation via token."},"OrgInvitationCreate":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"role_id":{"type":"string","format":"uuid","title":"Role Id"}},"type":"object","required":["email","role_id"],"title":"OrgInvitationCreate","description":"Request body for creating an organization invitation."},"OrgInvitationRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"email":{"type":"string","format":"email","title":"Email"},"role_id":{"type":"string","format":"uuid","title":"Role Id"},"role_name":{"type":"string","title":"Role Name"},"role_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Slug"},"status":{"$ref":"#/components/schemas/InvitationStatus"},"invited_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invited By"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted At"}},"type":"object","required":["id","organization_id","email","role_id","role_name","status","invited_by","expires_at","created_at","accepted_at"],"title":"OrgInvitationRead","description":"Response model for organization invitation."},"OrgInvitationReadMinimal":{"properties":{"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"organization_name":{"type":"string","title":"Organization Name"},"organization_slug":{"type":"string","title":"Organization Slug"},"inviter_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inviter Name"},"inviter_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inviter Email"},"role_name":{"type":"string","title":"Role Name"},"role_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Slug"},"status":{"$ref":"#/components/schemas/InvitationStatus"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"email_matches":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Email Matches"}},"type":"object","required":["organization_id","organization_name","organization_slug","inviter_name","inviter_email","role_name","status","expires_at"],"title":"OrgInvitationReadMinimal","description":"Minimal response for public token-based invitation lookup.\n\nExcludes sensitive fields like email, invited_by ID, and timestamps\nto reduce information disclosure when querying by token."},"OrgMemberDetail":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"email":{"type":"string","format":"email","title":"Email"},"role":{"type":"string","title":"Role"},"is_active":{"type":"boolean","title":"Is Active"},"is_verified":{"type":"boolean","title":"Is Verified"},"last_login_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Login At"}},"type":"object","required":["user_id","first_name","last_name","email","role","is_active","is_verified","last_login_at"],"title":"OrgMemberDetail","description":"Detailed member info for /me and update endpoints."},"OrgMemberRead":{"properties":{"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"invitation_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invitation Id"},"email":{"type":"string","format":"email","title":"Email"},"role_name":{"type":"string","title":"Role Name"},"role_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Slug"},"status":{"$ref":"#/components/schemas/OrgMemberStatus"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"last_login_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Login At"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["email","role_name","status"],"title":"OrgMemberRead","description":"Unified member representation — covers active, inactive, and pending (invited) members."},"OrgMemberStatus":{"type":"string","enum":["active","inactive","invited"],"title":"OrgMemberStatus"},"OrgPendingInvitationRead":{"properties":{"token":{"type":"string","title":"Token"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"organization_name":{"type":"string","title":"Organization Name"},"inviter_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inviter Name"},"inviter_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inviter Email"},"role_name":{"type":"string","title":"Role Name"},"role_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Slug"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["token","organization_id","organization_name","inviter_name","inviter_email","role_name","expires_at"],"title":"OrgPendingInvitationRead","description":"Pending invitation visible to the invited authenticated user."},"OrgRegistryRepositoryRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"origin":{"type":"string","title":"Origin"},"last_synced_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Synced At"},"commit_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commit Sha"},"current_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Current Version Id"}},"type":"object","required":["id","origin"],"title":"OrgRegistryRepositoryRead","description":"Organization registry repository response."},"OrgRegistrySyncRequest":{"properties":{"force":{"type":"boolean","title":"Force","description":"Force sync by deleting the existing version first","default":false}},"type":"object","title":"OrgRegistrySyncRequest","description":"Organization registry sync request."},"OrgRegistrySyncResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"repository_id":{"type":"string","format":"uuid","title":"Repository Id"},"origin":{"type":"string","title":"Origin"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"commit_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commit Sha"},"actions_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Actions Count"},"forced":{"type":"boolean","title":"Forced","default":false},"skipped":{"type":"boolean","title":"Skipped","default":false},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["success","repository_id","origin"],"title":"OrgRegistrySyncResponse","description":"Organization registry sync response."},"OrgRegistryVersionPromoteResponse":{"properties":{"repository_id":{"type":"string","format":"uuid","title":"Repository Id"},"origin":{"type":"string","title":"Origin"},"previous_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Previous Version Id"},"previous_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Previous Version"},"current_version_id":{"type":"string","format":"uuid","title":"Current Version Id"},"current_version":{"type":"string","title":"Current Version"}},"type":"object","required":["repository_id","origin","previous_version_id","previous_version","current_version_id","current_version"],"title":"OrgRegistryVersionPromoteResponse","description":"Response from promoting an organization registry version."},"OrgRegistryVersionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"repository_id":{"type":"string","format":"uuid","title":"Repository Id"},"version":{"type":"string","title":"Version"},"commit_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commit Sha"},"tarball_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tarball Uri"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","repository_id","version","created_at"],"title":"OrgRegistryVersionRead","description":"Organization registry version response."},"OrgUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"slug":{"anyOf":[{"type":"string","maxLength":63,"minLength":1,"pattern":"^[a-z0-9-]+$"},{"type":"null"}],"title":"Slug"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"OrgUpdate","description":"Update organization request."},"OrganizationSecretRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"$ref":"#/components/schemas/SecretType"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"encrypted_keys":{"type":"string","contentMediaType":"application/octet-stream","title":"Encrypted Keys"},"environment":{"type":"string","title":"Environment"},"tags":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Tags"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"}},"type":"object","required":["id","type","name","encrypted_keys","environment","created_at","updated_at","organization_id"],"title":"OrganizationSecretRead","description":"Read schema for organization-scoped secrets."},"OrganizationTierRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"tier_id":{"type":"string","format":"uuid","title":"Tier Id"},"max_concurrent_workflows":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Concurrent Workflows"},"max_action_executions_per_workflow":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Action Executions Per Workflow"},"max_concurrent_actions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Concurrent Actions"},"api_rate_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Api Rate Limit"},"api_burst_capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Api Burst Capacity"},"entitlement_overrides":{"anyOf":[{"$ref":"#/components/schemas/EntitlementsDict"},{"type":"null"}]},"stripe_customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Customer Id"},"stripe_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Subscription Id"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"tier":{"anyOf":[{"$ref":"#/components/schemas/TierRead"},{"type":"null"}]}},"type":"object","required":["id","organization_id","tier_id","max_concurrent_workflows","max_action_executions_per_workflow","max_concurrent_actions","api_rate_limit","api_burst_capacity","entitlement_overrides","stripe_customer_id","stripe_subscription_id","expires_at","created_at","updated_at"],"title":"OrganizationTierRead","description":"Organization tier assignment response."},"OrganizationTierUpdate":{"properties":{"tier_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Tier Id"},"max_concurrent_workflows":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Concurrent Workflows"},"max_action_executions_per_workflow":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Action Executions Per Workflow"},"max_concurrent_actions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Concurrent Actions"},"api_rate_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Api Rate Limit"},"api_burst_capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Api Burst Capacity"},"entitlement_overrides":{"anyOf":[{"$ref":"#/components/schemas/EntitlementsDict"},{"type":"null"}]},"stripe_customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Customer Id"},"stripe_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Subscription Id"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"}},"type":"object","title":"OrganizationTierUpdate","description":"Update organization tier assignment request."},"OutputType":{"anyOf":[{"type":"string","enum":["bool","float","int","str","list[bool]","list[float]","list[int]","list[str]"]},{"additionalProperties":true,"type":"object"}]},"PayloadChangedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"payload_changed","title":"Type","default":"payload_changed"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["created_at"],"title":"PayloadChangedEventRead","description":"Event for when a case payload is changed."},"PersistedApprovalDecision":{"anyOf":[{"type":"boolean"},{"$ref":"#/components/schemas/ToolApprovedDecision"},{"$ref":"#/components/schemas/ToolDeniedDecision"},{"$ref":"#/components/schemas/BooleanApprovalDecision"}]},"PlatformAuditSettingsRead":{"properties":{"audit_webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audit Webhook Url"},"audit_webhook_custom_headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Audit Webhook Custom Headers"},"audit_webhook_custom_payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Audit Webhook Custom Payload"},"audit_webhook_payload_attribute":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audit Webhook Payload Attribute"},"audit_webhook_verify_ssl":{"type":"boolean","title":"Audit Webhook Verify Ssl","default":true},"decryption_failed_keys":{"items":{"type":"string"},"type":"array","title":"Decryption Failed Keys","description":"Encrypted setting keys that could not be decrypted with the current encryption key and must be reconfigured."}},"type":"object","required":["audit_webhook_url"],"title":"PlatformAuditSettingsRead","description":"Platform audit settings response."},"PlatformAuditSettingsUpdate":{"properties":{"audit_webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audit Webhook Url","description":"Webhook URL that receives streamed audit events. When unset, audit events are skipped."},"audit_webhook_custom_headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Audit Webhook Custom Headers","description":"Custom headers to include in audit webhook requests. Header names are case-insensitive."},"audit_webhook_custom_payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Audit Webhook Custom Payload","description":"Custom JSON fields merged into streamed audit event payloads. Canonical audit event fields take precedence; conflicting custom keys are ignored."},"audit_webhook_payload_attribute":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audit Webhook Payload Attribute","description":"Optional wrapper key for audit payloads. When set to a value like 'event', payload is sent as {'event': <audit_payload>}."},"audit_webhook_verify_ssl":{"type":"boolean","title":"Audit Webhook Verify Ssl","description":"Whether TLS certificates are verified for webhook requests. Disable only for trusted on-prem/self-signed endpoints.","default":true}},"type":"object","title":"PlatformAuditSettingsUpdate","description":"Update platform audit settings."},"PlatformMCPCatalogListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PlatformMCPCatalogRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["items"],"title":"PlatformMCPCatalogListResponse","description":"Cursor-paginated platform MCP catalog response."},"PlatformMCPCatalogRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"category":{"type":"string","title":"Category"},"status":{"type":"string","enum":["available","coming_soon","deprecated","hidden"],"title":"Status"},"icon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Url"},"docs_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Docs Url"},"provider_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Id"},"connection_spec":{"anyOf":[{"$ref":"#/components/schemas/MCPConnectionSpec"},{"type":"null"}]},"connection_options":{"items":{"$ref":"#/components/schemas/MCPConnectionOption"},"type":"array","title":"Connection Options"},"locked":{"type":"boolean","title":"Locked","description":"Whether this platform MCP catalog row is locked by entitlement."},"state":{"type":"string","enum":["not_configured","configured","connected","reauth_required","error"],"title":"State"},"mcp_integration_id":{"anyOf":[{"type":"string","format":"uuid4"},{"type":"null"}],"title":"Mcp Integration Id"},"mcp_server_type":{"anyOf":[{"$ref":"#/components/schemas/MCPServerType"},{"type":"null"}]},"mcp_auth_type":{"anyOf":[{"$ref":"#/components/schemas/MCPAuthType"},{"type":"null"}]},"tools":{"anyOf":[{"items":{"$ref":"#/components/schemas/MCPToolSummary"},"type":"array"},{"type":"null"}],"title":"Tools"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"last_refreshed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Refreshed At"}},"type":"object","required":["id","slug","name","description","category","status","icon_url","docs_url","provider_id","connection_spec","locked","state","mcp_integration_id","created_at","updated_at","last_refreshed_at"],"title":"PlatformMCPCatalogRead","description":"Catalog row joined with workspace-specific MCP state."},"PlatformRegistrySettingsRead":{"properties":{"git_repo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Git Repo Url"},"git_repo_package_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Git Repo Package Name"},"git_allowed_domains":{"anyOf":[{"items":{"type":"string"},"type":"array","uniqueItems":true},{"type":"null"}],"title":"Git Allowed Domains"}},"type":"object","title":"PlatformRegistrySettingsRead","description":"Platform registry settings response."},"PlatformRegistrySettingsUpdate":{"properties":{"git_repo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Git Repo Url"},"git_repo_package_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Git Repo Package Name"},"git_allowed_domains":{"anyOf":[{"items":{"type":"string"},"type":"array","uniqueItems":true},{"type":"null"}],"title":"Git Allowed Domains"}},"type":"object","title":"PlatformRegistrySettingsUpdate","description":"Update platform registry settings."},"Position":{"properties":{"x":{"type":"number","title":"X","default":0.0},"y":{"type":"number","title":"Y","default":0.0}},"type":"object","title":"Position"},"PriorityChangedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"priority_changed","title":"Type","default":"priority_changed"},"old":{"$ref":"#/components/schemas/CasePriority"},"new":{"$ref":"#/components/schemas/CasePriority"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["old","new","created_at"],"title":"PriorityChangedEventRead","description":"Event for when a case priority is changed."},"ProviderCredentialConfig":{"properties":{"provider":{"type":"string","maxLength":100,"minLength":1,"title":"Provider","description":"The provider name"},"label":{"type":"string","maxLength":200,"minLength":1,"title":"Label","description":"Human-readable label for the provider"},"fields":{"items":{"$ref":"#/components/schemas/ProviderCredentialField"},"type":"array","title":"Fields","description":"Required credential fields"}},"type":"object","required":["provider","label","fields"],"title":"ProviderCredentialConfig","description":"Model for provider credential configuration."},"ProviderCredentialField":{"properties":{"key":{"type":"string","maxLength":100,"minLength":1,"title":"Key","description":"The environment variable key for this credential"},"label":{"type":"string","maxLength":200,"minLength":1,"title":"Label","description":"Human-readable label for the field"},"type":{"type":"string","enum":["text","password"],"title":"Type","description":"Input type: 'text' or 'password'"},"description":{"type":"string","maxLength":500,"minLength":1,"title":"Description","description":"Help text describing this credential"},"required":{"type":"boolean","title":"Required","description":"Whether this field is required","default":true}},"type":"object","required":["key","label","type","description"],"title":"ProviderCredentialField","description":"Model for defining credential fields required by a provider."},"ProviderMetadata":{"properties":{"id":{"type":"string","title":"Id","description":"Provider identifier"},"name":{"type":"string","title":"Name","description":"Human-readable provider name"},"description":{"type":"string","title":"Description","description":"Provider description"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url","description":"URL to provider logo"},"setup_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Setup Instructions","description":"Setup instructions for the provider"},"requires_config":{"type":"boolean","title":"Requires Config","description":"Whether this provider requires additional configuration","default":false},"enabled":{"type":"boolean","title":"Enabled","description":"Whether this provider is available for use","default":true},"service_account_json":{"type":"boolean","title":"Service Account Json","description":"Whether the client secret is a service account JSON key instead of an OAuth client secret","default":false},"api_docs_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Docs Url","description":"URL to API documentation"},"setup_guide_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Setup Guide Url","description":"URL to setup guide"},"troubleshooting_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Troubleshooting Url","description":"URL to troubleshooting documentation"}},"type":"object","required":["id","name","description"],"title":"ProviderMetadata","description":"Metadata for a provider."},"ProviderRead":{"properties":{"grant_type":{"$ref":"#/components/schemas/OAuthGrantType"},"metadata":{"$ref":"#/components/schemas/ProviderMetadata"},"scopes":{"$ref":"#/components/schemas/ProviderScopes"},"config_schema":{"$ref":"#/components/schemas/ProviderSchema"},"integration_status":{"$ref":"#/components/schemas/IntegrationStatus"},"default_authorization_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Authorization Endpoint"},"default_token_endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Token Endpoint"},"authorization_endpoint_help":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Authorization Endpoint Help"},"token_endpoint_help":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Token Endpoint Help"},"redirect_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Uri"}},"type":"object","required":["grant_type","metadata","scopes","config_schema","integration_status"],"title":"ProviderRead"},"ProviderReadMinimal":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"requires_config":{"type":"boolean","title":"Requires Config"},"integration_status":{"$ref":"#/components/schemas/IntegrationStatus"},"enabled":{"type":"boolean","title":"Enabled"},"grant_type":{"$ref":"#/components/schemas/OAuthGrantType"}},"type":"object","required":["id","name","description","requires_config","integration_status","enabled","grant_type"],"title":"ProviderReadMinimal"},"ProviderSchema":{"properties":{"json_schema":{"additionalProperties":true,"type":"object","title":"Json Schema"}},"type":"object","required":["json_schema"],"title":"ProviderSchema","description":"Schema for a provider."},"ProviderScopes":{"properties":{"default":{"items":{"type":"string"},"type":"array","title":"Default","description":"Default scopes for this provider."}},"type":"object","required":["default"],"title":"ProviderScopes","description":"Scope metadata for a provider."},"PullDiagnostic":{"properties":{"workflow_path":{"type":"string","title":"Workflow Path"},"workflow_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workflow Title"},"error_type":{"type":"string","enum":["conflict","validation","dependency","parse","github","system","transaction"],"title":"Error Type"},"message":{"type":"string","title":"Message"},"details":{"additionalProperties":true,"type":"object","title":"Details"}},"type":"object","required":["workflow_path","workflow_title","error_type","message","details"],"title":"PullDiagnostic"},"PullResourceDiff":{"properties":{"resource_type":{"type":"string","title":"Resource Type"},"source_id":{"type":"string","title":"Source Id"},"source_path":{"type":"string","title":"Source Path"},"change_type":{"type":"string","enum":["added","modified","deleted"],"title":"Change Type"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"diff":{"type":"string","title":"Diff"},"truncated":{"type":"boolean","title":"Truncated","default":false}},"type":"object","required":["resource_type","source_id","source_path","change_type","title","diff"],"title":"PullResourceDiff"},"PullResult":{"properties":{"success":{"type":"boolean","title":"Success"},"commit_sha":{"type":"string","title":"Commit Sha"},"workflows_found":{"type":"integer","title":"Workflows Found"},"workflows_imported":{"type":"integer","title":"Workflows Imported"},"diagnostics":{"items":{"$ref":"#/components/schemas/PullDiagnostic"},"type":"array","title":"Diagnostics"},"message":{"type":"string","title":"Message"},"resource_counts":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/ResourcePullCount"},"type":"object"},{"type":"null"}],"title":"Resource Counts"},"resource_diffs":{"anyOf":[{"items":{"$ref":"#/components/schemas/PullResourceDiff"},"type":"array"},{"type":"null"}],"title":"Resource Diffs"},"files":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Files"},"resources":{"anyOf":[{"items":{"$ref":"#/components/schemas/SyncPreviewResource"},"type":"array"},{"type":"null"}],"title":"Resources"},"catalog_mapping_requirements":{"anyOf":[{"items":{"$ref":"#/components/schemas/CatalogMappingRequirement"},"type":"array"},{"type":"null"}],"title":"Catalog Mapping Requirements"},"mcp_integration_mapping_requirements":{"anyOf":[{"items":{"$ref":"#/components/schemas/McpIntegrationMappingRequirement"},"type":"array"},{"type":"null"}],"title":"Mcp Integration Mapping Requirements"}},"type":"object","required":["success","commit_sha","workflows_found","workflows_imported","diagnostics","message"],"title":"PullResult"},"PushStatus":{"type":"string","enum":["committed","no_op"],"title":"PushStatus","description":"Status of a push/commit operation."},"RateLimitEvent":{"properties":{"rate_limit_info":{"$ref":"#/components/schemas/RateLimitInfo"},"uuid":{"type":"string","title":"Uuid"},"session_id":{"type":"string","title":"Session Id"}},"type":"object","required":["rate_limit_info","uuid","session_id"],"title":"RateLimitEvent"},"RateLimitInfo":{"properties":{"status":{"type":"string","enum":["allowed","allowed_warning","rejected"],"title":"Status"},"resets_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Resets At"},"rate_limit_type":{"anyOf":[{"type":"string","enum":["five_hour","seven_day","seven_day_opus","seven_day_sonnet","overage"]},{"type":"null"}],"title":"Rate Limit Type"},"utilization":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Utilization"},"overage_status":{"anyOf":[{"type":"string","enum":["allowed","allowed_warning","rejected"]},{"type":"null"}],"title":"Overage Status"},"overage_resets_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Overage Resets At"},"overage_disabled_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Overage Disabled Reason"},"raw":{"additionalProperties":true,"type":"object","title":"Raw"}},"type":"object","required":["status"],"title":"RateLimitInfo"},"ReasoningUIPart":{"properties":{"type":{"type":"string","const":"reasoning","title":"Type"},"text":{"type":"string","title":"Text"},"state":{"type":"string","enum":["streaming","done"],"title":"State"},"providerMetadata":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Providermetadata"}},"additionalProperties":false,"type":"object","required":["type","text"],"title":"ReasoningUIPart","description":"A reasoning part of a message."},"ReceiveInteractionResponse":{"properties":{"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"ReceiveInteractionResponse"},"RegistryActionAvailability":{"properties":{"locked":{"type":"boolean","title":"Locked","description":"Whether this action is locked behind an upgraded plan","default":false},"missing_entitlements":{"items":{"type":"string"},"type":"array","title":"Missing Entitlements","description":"Entitlements required to unlock this action"}},"type":"object","title":"RegistryActionAvailability","description":"Availability metadata for a registry action."},"RegistryActionInterface":{"properties":{"expects":{"additionalProperties":true,"type":"object","title":"Expects"},"returns":{"title":"Returns"}},"type":"object","required":["expects","returns"],"title":"RegistryActionInterface"},"RegistryActionOptions":{"properties":{"include_in_schema":{"type":"boolean","title":"Include In Schema","default":true},"requires_approval":{"type":"boolean","title":"Requires Approval","default":false},"required_entitlements":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Required Entitlements"}},"type":"object","title":"RegistryActionOptions"},"RegistryActionRead":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"The name of the action"},"description":{"type":"string","maxLength":1000,"title":"Description","description":"The description of the action"},"namespace":{"type":"string","title":"Namespace","description":"The namespace of the action"},"type":{"type":"string","enum":["udf","template"],"title":"Type","description":"The type of the action"},"origin":{"type":"string","maxLength":1000,"minLength":1,"title":"Origin","description":"The origin of the action as a url"},"secrets":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegistrySecretType"},"type":"array"},{"type":"null"}],"title":"Secrets","description":"The secrets required by the action"},"interface":{"$ref":"#/components/schemas/RegistryActionInterface"},"implementation":{"oneOf":[{"$ref":"#/components/schemas/RegistryActionTemplateImpl"},{"$ref":"#/components/schemas/RegistryActionUDFImpl"}],"title":"Implementation","discriminator":{"propertyName":"type","mapping":{"template":"#/components/schemas/RegistryActionTemplateImpl","udf":"#/components/schemas/RegistryActionUDFImpl"}}},"default_title":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Default Title","description":"The default title of the action"},"display_group":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Display Group","description":"The presentation group of the action"},"doc_url":{"anyOf":[{"type":"string","maxLength":1000,"minLength":1},{"type":"null"}],"title":"Doc Url","description":"Link to documentation"},"author":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Author","description":"Author of the action"},"deprecated":{"anyOf":[{"type":"string","maxLength":1000,"minLength":1},{"type":"null"}],"title":"Deprecated","description":"Marks action as deprecated along with message"},"options":{"$ref":"#/components/schemas/RegistryActionOptions","description":"The options for the action"},"repository_id":{"type":"string","format":"uuid4","title":"Repository Id","description":"The repository id"},"id":{"type":"string","format":"uuid4","title":"Id","description":"The registry action id"},"action":{"type":"string","title":"Action","description":"The full action identifier.","readOnly":true},"is_template":{"type":"boolean","title":"Is Template","description":"Whether the action is a template.","readOnly":true}},"type":"object","required":["name","description","namespace","type","origin","interface","implementation","repository_id","id","action","is_template"],"title":"RegistryActionRead","description":"API read model for a registered action."},"RegistryActionReadMinimal":{"properties":{"id":{"type":"string","format":"uuid4","title":"Id","description":"The registry action id"},"name":{"type":"string","title":"Name","description":"The name of the action"},"description":{"type":"string","title":"Description","description":"The description of the action"},"namespace":{"type":"string","title":"Namespace","description":"The namespace of the action"},"type":{"type":"string","enum":["udf","template"],"title":"Type","description":"The type of the action"},"origin":{"type":"string","title":"Origin","description":"The origin of the action as a url"},"default_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Title","description":"The default title of the action"},"display_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Group","description":"The presentation group of the action"},"availability":{"$ref":"#/components/schemas/RegistryActionAvailability","description":"Availability metadata for this action"},"action":{"type":"string","title":"Action","description":"The full action identifier.","readOnly":true}},"type":"object","required":["id","name","description","namespace","type","origin","action"],"title":"RegistryActionReadMinimal","description":"API minimal read model for a registered action."},"RegistryActionTemplateImpl":{"properties":{"type":{"type":"string","const":"template","title":"Type","default":"template"},"template_action":{"$ref":"#/components/schemas/TemplateAction","description":"The template action"}},"type":"object","required":["template_action"],"title":"RegistryActionTemplateImpl"},"RegistryActionUDFImpl":{"properties":{"type":{"type":"string","const":"udf","title":"Type","default":"udf"},"url":{"type":"string","title":"Url","description":"The package url"},"module":{"type":"string","title":"Module","description":"The module name"},"name":{"type":"string","title":"Name","description":"The name of the UDF function name"}},"type":"object","required":["url","module","name"],"title":"RegistryActionUDFImpl"},"RegistryActionValidationErrorInfo":{"properties":{"type":{"$ref":"#/components/schemas/TemplateActionValidationErrorType"},"details":{"items":{"type":"string"},"type":"array","title":"Details"},"is_template":{"type":"boolean","title":"Is Template"},"loc_primary":{"type":"string","title":"Loc Primary"},"loc_secondary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Loc Secondary"}},"type":"object","required":["type","details","is_template","loc_primary"],"title":"RegistryActionValidationErrorInfo"},"RegistryArtifactsBackfillStartRequest":{"properties":{"version_ids":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Version Ids"}},"type":"object","required":["version_ids"],"title":"RegistryArtifactsBackfillStartRequest","description":"Request to start an artifact backfill workflow for selected versions."},"RegistryArtifactsBackfillStartResponse":{"properties":{"workflow_id":{"type":"string","title":"Workflow Id"},"requested_count":{"type":"integer","title":"Requested Count"}},"type":"object","required":["workflow_id","requested_count"],"title":"RegistryArtifactsBackfillStartResponse","description":"Response after scheduling an artifact backfill workflow."},"RegistryLock":{"properties":{"origins":{"additionalProperties":{"type":"string"},"type":"object","title":"Origins"},"actions":{"additionalProperties":{"type":"string"},"type":"object","title":"Actions"},"origin_fingerprints":{"additionalProperties":{"type":"string"},"type":"object","title":"Origin Fingerprints"}},"type":"object","required":["origins","actions"],"title":"RegistryLock","description":"Registry version lock with action-level bindings for O(1) resolution.\n\nAttributes:\n    origins: Maps repository origin to pinned version string.\n        Example: {\"tracecat_registry\": \"2024.12.10.123456\"}\n    actions: Maps action name to its source origin.\n        Example: {\"core.transform.reshape\": \"tracecat_registry\"}\n    origin_fingerprints: Optional immutable manifest fingerprints for origins.\n        New executors use the builtin fingerprint to decide whether their\n        bundled tracecat_registry package is an exact match for the lock."},"RegistryLockEntryRead":{"properties":{"origin":{"type":"string","title":"Origin"},"version":{"type":"string","title":"Version"},"label":{"type":"string","title":"Label"}},"type":"object","required":["origin","version","label"],"title":"RegistryLockEntryRead","description":"Display metadata for one registry lock origin."},"RegistryOAuthSecret":{"properties":{"type":{"type":"string","const":"oauth","title":"Type","default":"oauth"},"provider_id":{"type":"string","title":"Provider Id"},"grant_type":{"type":"string","enum":["authorization_code","client_credentials"],"title":"Grant Type"},"optional":{"type":"boolean","title":"Optional","default":false},"name":{"type":"string","title":"Name","readOnly":true}},"type":"object","required":["provider_id","grant_type","name"],"title":"RegistryOAuthSecret","description":"OAuth secret for a provider."},"RegistryRepositoryCreate":{"properties":{"origin":{"type":"string","maxLength":255,"minLength":1,"title":"Origin","description":"The origin of the repository"}},"type":"object","required":["origin"],"title":"RegistryRepositoryCreate"},"RegistryRepositoryErrorDetail":{"properties":{"id":{"type":"string","title":"Id"},"origin":{"type":"string","title":"Origin"},"message":{"type":"string","title":"Message"},"errors":{"additionalProperties":{"items":{"$ref":"#/components/schemas/RegistryActionValidationErrorInfo"},"type":"array"},"type":"object","title":"Errors"}},"type":"object","required":["id","origin","message","errors"],"title":"RegistryRepositoryErrorDetail","description":"Error response model for registry sync failures."},"RegistryRepositoryRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"origin":{"type":"string","title":"Origin"},"last_synced_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Synced At"},"commit_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commit Sha"},"current_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Current Version Id"},"actions":{"items":{"$ref":"#/components/schemas/RegistryActionRead"},"type":"array","title":"Actions"}},"type":"object","required":["id","origin","last_synced_at","commit_sha","actions"],"title":"RegistryRepositoryRead"},"RegistryRepositoryReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"origin":{"type":"string","title":"Origin"},"last_synced_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Synced At"},"commit_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commit Sha"},"current_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Current Version Id"}},"type":"object","required":["id","origin","last_synced_at","commit_sha"],"title":"RegistryRepositoryReadMinimal"},"RegistryRepositorySync":{"properties":{"target_commit_sha":{"anyOf":[{"type":"string","maxLength":40,"minLength":40},{"type":"null"}],"title":"Target Commit Sha","description":"The specific commit SHA to sync to. If None, syncs to HEAD."},"force":{"type":"boolean","title":"Force","description":"Force sync by deleting the existing version first, allowing re-sync.","default":false}},"type":"object","title":"RegistryRepositorySync","description":"Parameters for syncing a repository to a specific commit."},"RegistryRepositoryUpdate":{"properties":{"last_synced_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Synced At"},"commit_sha":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Commit Sha","description":"The commit SHA of the repository"},"origin":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Origin","description":"The origin of the repository"}},"type":"object","title":"RegistryRepositoryUpdate"},"RegistrySecret":{"properties":{"type":{"type":"string","const":"custom","title":"Type","default":"custom"},"name":{"type":"string","pattern":"[a-z0-9_]+","title":"Name"},"keys":{"anyOf":[{"items":{"type":"string","pattern":"[a-zA-Z0-9_]+"},"type":"array"},{"type":"null"}],"title":"Keys"},"optional_keys":{"anyOf":[{"items":{"type":"string","pattern":"[a-zA-Z0-9_]+"},"type":"array"},{"type":"null"}],"title":"Optional Keys"},"optional":{"type":"boolean","title":"Optional","default":false},"secret_type":{"type":"string","enum":["custom","ssh_key","mtls","ca_cert"],"title":"Secret Type","default":"custom"}},"type":"object","required":["name"],"title":"RegistrySecret"},"RegistrySecretType":{"oneOf":[{"$ref":"#/components/schemas/RegistrySecret"},{"$ref":"#/components/schemas/RegistryOAuthSecret"}],"discriminator":{"propertyName":"type","mapping":{"custom":"#/components/schemas/RegistrySecret","oauth":"#/components/schemas/RegistryOAuthSecret"}}},"RegistryStatusResponse":{"properties":{"total_repositories":{"type":"integer","title":"Total Repositories"},"last_sync_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Sync At"},"repositories":{"items":{"$ref":"#/components/schemas/RepositoryStatus"},"type":"array","title":"Repositories"}},"type":"object","required":["total_repositories","last_sync_at","repositories"],"title":"RegistryStatusResponse","description":"Registry health status."},"ReopenedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"case_reopened","title":"Type","default":"case_reopened"},"old":{"$ref":"#/components/schemas/CaseStatus"},"new":{"$ref":"#/components/schemas/CaseStatus"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["old","new","created_at"],"title":"ReopenedEventRead","description":"Event for when a case is reopened."},"RepositoryStatus":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"origin":{"type":"string","title":"Origin"},"last_synced_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Synced At"},"commit_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commit Sha"},"current_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Current Version Id"}},"type":"object","required":["id","name","origin","last_synced_at","commit_sha"],"title":"RepositoryStatus","description":"Status of a single repository."},"RepositorySyncResult":{"properties":{"repository_id":{"type":"string","format":"uuid","title":"Repository Id"},"repository_name":{"type":"string","title":"Repository Name"},"success":{"type":"boolean","title":"Success"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"actions_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Actions Count"}},"type":"object","required":["repository_id","repository_name","success"],"title":"RepositorySyncResult","description":"Result of syncing a single repository."},"ResolvedAgentsConfig":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":false},"subagents":{"items":{"$ref":"#/components/schemas/ResolvedAttachedSubagentRef"},"type":"array","title":"Subagents"}},"additionalProperties":false,"type":"object","title":"ResolvedAgentsConfig","description":"Persisted agents toggle with immutable resolved child refs."},"ResolvedAttachedSubagentRef":{"properties":{"preset":{"type":"string","maxLength":160,"minLength":1,"title":"Preset"},"preset_version":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Preset Version"},"name":{"anyOf":[{"type":"string","maxLength":80,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"max_turns":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Max Turns"},"preset_id":{"type":"string","format":"uuid","title":"Preset Id"},"preset_version_id":{"type":"string","format":"uuid","title":"Preset Version Id"}},"additionalProperties":false,"type":"object","required":["preset","preset_id","preset_version_id"],"title":"ResolvedAttachedSubagentRef","description":"Persisted subagent ref with immutable preset/version identifiers."},"ResourcePullCount":{"properties":{"found":{"type":"integer","title":"Found"},"imported":{"type":"integer","title":"Imported"}},"type":"object","required":["found","imported"],"title":"ResourcePullCount"},"ResourceRef":{"properties":{"resource_type":{"$ref":"#/components/schemas/SyncResourceType","description":"Type of the referenced resource."},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Id","description":"Git source id of the resource, if referenced by source id."},"local_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Local Id","description":"Local database id of the resource, if referenced by local id."}},"type":"object","required":["resource_type"],"title":"ResourceRef","description":"Reference to a single resource by type and either source or local id."},"ResponseInteraction":{"properties":{"type":{"type":"string","const":"response","title":"Type"},"timeout":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timeout","description":"The timeout for the interaction in seconds."}},"type":"object","required":["type"],"title":"ResponseInteraction","description":"Configuration for a response interaction."},"ResultMessage":{"properties":{"subtype":{"type":"string","title":"Subtype"},"duration_ms":{"type":"integer","title":"Duration Ms"},"duration_api_ms":{"type":"integer","title":"Duration Api Ms"},"is_error":{"type":"boolean","title":"Is Error"},"num_turns":{"type":"integer","title":"Num Turns"},"session_id":{"type":"string","title":"Session Id"},"stop_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stop Reason"},"total_cost_usd":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Total Cost Usd"},"usage":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Usage"},"result":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Result"},"structured_output":{"title":"Structured Output"},"model_usage":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Model Usage"},"permission_denials":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Permission Denials"},"errors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Errors"},"uuid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uuid"}},"type":"object","required":["subtype","duration_ms","duration_api_ms","is_error","num_turns","session_id"],"title":"ResultMessage"},"RetryPromptPart":{"properties":{"content":{"anyOf":[{"items":{"$ref":"#/components/schemas/ErrorDetails"},"type":"array"},{"type":"string"}],"title":"Content"},"tool_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tool Name"},"tool_call_id":{"type":"string","title":"Tool Call Id"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"part_kind":{"type":"string","const":"retry-prompt","title":"Part Kind","default":"retry-prompt"}},"type":"object","required":["content"],"title":"RetryPromptPart"},"Role":{"properties":{"type":{"type":"string","enum":["user","service","service_account"],"title":"Type"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"},"bound_workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Bound Workspace Id"},"organization_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organization Id"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"service_account_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Service Account Id"},"service_id":{"type":"string","enum":["tracecat-api","tracecat-bootstrap","tracecat-cli","tracecat-executor","tracecat-agent-executor","tracecat-case-duration-sync","tracecat-case-triggers","tracecat-llm-gateway","tracecat-mcp","tracecat-runner","tracecat-schedule-runner","tracecat-service","tracecat-ui"],"title":"Service Id"},"is_platform_superuser":{"type":"boolean","title":"Is Platform Superuser","default":false},"scopes":{"anyOf":[{"items":{"type":"string"},"type":"array","uniqueItems":true},{"type":"null"}],"title":"Scopes"}},"additionalProperties":true,"type":"object","required":["type","service_id"],"title":"Role","description":"The identity, intrinsic bindings, and resolved authorization context.\n\nUser roles\n----------\n- User roles are authenticated via JWT.\n- The `user_id` is the user's JWT 'sub' claim.\n- User roles do not have an associated `service_id`, this must be None.\n\nService roles\n-------------\n- Service roles are authenticated via API key.\n- Used for internal services to authenticate with the API.\n- A service's `user_id` is the user it's acting on behalf of. This can be None for internal services."},"RoleCreate":{"properties":{"name":{"type":"string","maxLength":128,"minLength":1,"title":"Name","description":"Role name"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description","description":"Optional description of the role"},"scope_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Scope Ids","description":"List of scope IDs to assign to the role"}},"type":"object","required":["name"],"title":"RoleCreate","description":"Create schema for a custom role."},"RoleList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/RoleReadWithScopes"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"RoleList","description":"Response schema for listing roles."},"RoleReadWithScopes":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"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"},"created_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By"},"scopes":{"items":{"$ref":"#/components/schemas/ScopeRead"},"type":"array","title":"Scopes"},"is_system":{"type":"boolean","title":"Is System","description":"Whether this is a preset system role.","readOnly":true}},"type":"object","required":["id","name","organization_id","created_at","updated_at","is_system"],"title":"RoleReadWithScopes","description":"Read schema for a role with its scopes."},"RoleUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":128,"minLength":1},{"type":"null"}],"title":"Name","description":"Role name"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description","description":"Optional description of the role"},"scope_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Scope Ids","description":"List of scope IDs to assign to the role (replaces existing)"}},"type":"object","title":"RoleUpdate","description":"Update schema for a role."},"RunActionInput":{"properties":{"task":{"$ref":"#/components/schemas/ActionStatement"},"exec_context":{"$ref":"#/components/schemas/ExecutionContext"},"run_context":{"$ref":"#/components/schemas/RunContext"},"interaction_context":{"anyOf":[{"$ref":"#/components/schemas/InteractionContext"},{"type":"null"}]},"stream_id":{"type":"string","title":"Stream Id","default":"<root>:0"},"session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Session Id"},"agent_session_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Session Id"},"registry_lock":{"$ref":"#/components/schemas/RegistryLock"}},"type":"object","required":["task","exec_context","run_context","registry_lock"],"title":"RunActionInput","description":"This object contains all the information needed to execute an action."},"RunArtifact":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"scope":{"anyOf":[{"$ref":"#/components/schemas/ArtifactScope"},{"type":"null"}]},"type":{"type":"string","const":"run","title":"Type","default":"run"},"workflowId":{"type":"string","title":"Workflowid"},"status":{"type":"string","enum":["running","success","failed","cancelled"],"title":"Status"},"startedAt":{"type":"string","format":"date-time","title":"Startedat"}},"additionalProperties":false,"type":"object","required":["id","title","workflowId","status","startedAt"],"title":"RunArtifact","description":"Workflow run artifact shown in artifact-capable chat surfaces."},"RunContext":{"properties":{"wf_id":{"type":"string","title":"Wf Id"},"wf_exec_id":{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))","title":"Wf Exec Id"},"wf_run_id":{"type":"string","format":"uuid4","title":"Wf Run Id"},"environment":{"type":"string","title":"Environment"},"logical_time":{"type":"string","format":"date-time","title":"Logical Time"}},"type":"object","required":["wf_id","wf_exec_id","wf_run_id","environment","logical_time"],"title":"RunContext","description":"This is the runtime context model for a workflow run. Passed into activities."},"RunUsage":{"properties":{"requests":{"type":"integer","title":"Requests","default":0},"tool_calls":{"type":"integer","title":"Tool Calls","default":0},"input_tokens":{"type":"integer","title":"Input Tokens","default":0},"output_tokens":{"type":"integer","title":"Output Tokens","default":0}},"type":"object","title":"RunUsage","description":"LLM usage associated with an agent run."},"SAMLDatabaseLoginResponse":{"properties":{"redirect_url":{"type":"string","title":"Redirect Url"}},"type":"object","required":["redirect_url"],"title":"SAMLDatabaseLoginResponse"},"SAMLSettingsRead":{"properties":{"saml_enabled":{"type":"boolean","title":"Saml Enabled"},"saml_enforced":{"type":"boolean","title":"Saml Enforced"},"saml_idp_metadata_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Saml Idp Metadata Url"},"saml_sp_acs_url":{"type":"string","title":"Saml Sp Acs Url"},"decryption_failed_keys":{"items":{"type":"string"},"type":"array","title":"Decryption Failed Keys","description":"Encrypted setting keys that could not be decrypted with the current encryption key and must be reconfigured."}},"type":"object","required":["saml_enabled","saml_enforced","saml_sp_acs_url"],"title":"SAMLSettingsRead"},"SAMLSettingsUpdate":{"properties":{"saml_enabled":{"type":"boolean","title":"Saml Enabled","description":"Whether SAML is enabled.","default":true},"saml_enforced":{"type":"boolean","title":"Saml Enforced","description":"Whether SAML is enforced. If true, users can only use SAML to authenticate. Requires SAML to be enabled.","default":false},"saml_idp_metadata_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Saml Idp Metadata Url"}},"type":"object","title":"SAMLSettingsUpdate"},"ScalarFieldChange":{"properties":{"field":{"type":"string","title":"Field"},"old_value":{"title":"Old Value"},"new_value":{"title":"New Value"}},"type":"object","required":["field"],"title":"ScalarFieldChange","description":"Scalar field change between two preset versions."},"ScheduleCreate":{"properties":{"workflow_id":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"},"inputs":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Inputs"},"cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cron"},"every":{"anyOf":[{"type":"string","format":"duration"},{"type":"null"}],"title":"Every","description":"ISO 8601 duration string"},"offset":{"anyOf":[{"type":"string","format":"duration"},{"type":"null"}],"title":"Offset","description":"ISO 8601 duration string"},"start_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start At","description":"ISO 8601 datetime string"},"end_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End At","description":"ISO 8601 datetime string"},"status":{"type":"string","enum":["online","offline"],"title":"Status","default":"online"},"timeout":{"type":"number","title":"Timeout","description":"The maximum number of seconds to wait for the workflow to complete","default":0}},"type":"object","required":["workflow_id"],"title":"ScheduleCreate"},"ScheduleRead":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"workflow_id":{"type":"string","title":"Workflow Id"},"inputs":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Inputs"},"cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cron"},"every":{"anyOf":[{"type":"string","format":"duration"},{"type":"null"}],"title":"Every"},"offset":{"anyOf":[{"type":"string","format":"duration"},{"type":"null"}],"title":"Offset"},"start_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start At"},"end_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End At"},"timeout":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timeout"},"status":{"type":"string","enum":["online","offline"],"title":"Status"}},"type":"object","required":["id","workspace_id","created_at","updated_at","workflow_id","status"],"title":"ScheduleRead"},"ScheduleSearch":{"properties":{"workflow_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workflow Id"},"limit":{"type":"integer","title":"Limit","default":100},"order_by":{"type":"string","title":"Order By","default":"created_at"},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"},"group_by":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Group By"},"agg":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agg"}},"type":"object","title":"ScheduleSearch"},"ScheduleUpdate":{"properties":{"inputs":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Inputs"},"cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cron"},"every":{"anyOf":[{"type":"string","format":"duration"},{"type":"null"}],"title":"Every","description":"ISO 8601 duration string"},"offset":{"anyOf":[{"type":"string","format":"duration"},{"type":"null"}],"title":"Offset","description":"ISO 8601 duration string"},"start_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start At","description":"ISO 8601 datetime string"},"end_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End At","description":"ISO 8601 datetime string"},"status":{"anyOf":[{"type":"string","enum":["online","offline"]},{"type":"null"}],"title":"Status"}},"type":"object","title":"ScheduleUpdate"},"ScopeCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"pattern":"^[a-z0-9:_.*-]+$","title":"Name","description":"Scope name in format resource:action (e.g., 'custom:read')"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description","description":"Optional description of the scope"}},"type":"object","required":["name"],"title":"ScopeCreate","description":"Create schema for a custom scope."},"ScopeList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ScopeRead"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"ScopeList","description":"Response schema for listing scopes."},"ScopeRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"resource":{"type":"string","title":"Resource"},"action":{"type":"string","title":"Action"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"source":{"$ref":"#/components/schemas/ScopeSource"},"source_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Ref"},"organization_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"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":["id","name","resource","action","source","created_at","updated_at"],"title":"ScopeRead","description":"Read schema for a scope."},"ScopeSource":{"type":"string","enum":["platform","custom"],"title":"ScopeSource","description":"Source/ownership of a scope definition."},"SecretArtifact":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"scope":{"anyOf":[{"$ref":"#/components/schemas/ArtifactScope"},{"type":"null"}]},"type":{"type":"string","const":"secret","title":"Type","default":"secret"}},"additionalProperties":false,"type":"object","required":["id","title"],"title":"SecretArtifact","description":"Secret artifact stub. Extend when secret surfaces are wired."},"SecretCreate":{"properties":{"type":{"$ref":"#/components/schemas/SecretType","default":"custom"},"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":1000,"minLength":0},{"type":"null"}],"title":"Description"},"keys":{"items":{"$ref":"#/components/schemas/SecretKeyValue"},"type":"array","maxItems":100,"minItems":1,"title":"Keys"},"tags":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Tags"},"environment":{"type":"string","title":"Environment","default":"default"}},"type":"object","required":["name","keys"],"title":"SecretCreate","description":"Create a new secret.\n\nSecret types\n------------\n- `custom`: Arbitrary user-defined types\n- `token`: A token, e.g. API Key, JWT Token (TBC)\n- `oauth2`: OAuth2 Client Credentials (TBC)\n- `mtls`: TLS client certificate and key\n- `ca_cert`: Certificate authority bundle"},"SecretDefinition":{"properties":{"name":{"type":"string","title":"Name"},"keys":{"items":{"type":"string"},"type":"array","title":"Keys"},"optional_keys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Optional Keys"},"optional":{"type":"boolean","title":"Optional","default":false},"secret_type":{"$ref":"#/components/schemas/SecretType","default":"custom"},"actions":{"items":{"type":"string"},"type":"array","title":"Actions"},"action_count":{"type":"integer","title":"Action Count"}},"type":"object","required":["name","keys","actions","action_count"],"title":"SecretDefinition","description":"Aggregated secret definition from registry actions."},"SecretKeyValue":{"properties":{"key":{"type":"string","title":"Key"},"value":{"type":"string","format":"password","title":"Value","writeOnly":true}},"type":"object","required":["key","value"],"title":"SecretKeyValue"},"SecretRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"$ref":"#/components/schemas/SecretType"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"encrypted_keys":{"type":"string","contentMediaType":"application/octet-stream","title":"Encrypted Keys"},"environment":{"type":"string","title":"Environment"},"tags":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Tags"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"}},"type":"object","required":["id","type","name","encrypted_keys","environment","created_at","updated_at","workspace_id"],"title":"SecretRead","description":"Read schema for workspace-scoped secrets."},"SecretReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"type":{"$ref":"#/components/schemas/SecretType"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"keys":{"items":{"type":"string"},"type":"array","title":"Keys"},"environment":{"type":"string","title":"Environment"},"is_corrupted":{"type":"boolean","title":"Is Corrupted","default":false}},"type":"object","required":["id","type","name","keys","environment"],"title":"SecretReadMinimal"},"SecretType":{"type":"string","enum":["custom","ssh_key","mtls","ca_cert","github_app"],"title":"SecretType","description":"The type of a secret."},"SecretUpdate":{"properties":{"type":{"anyOf":[{"$ref":"#/components/schemas/SecretType"},{"type":"null"}]},"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":1000,"minLength":0},{"type":"null"}],"title":"Description"},"keys":{"anyOf":[{"items":{"$ref":"#/components/schemas/SecretKeyValue"},"type":"array","maxItems":100,"minItems":1},{"type":"null"}],"title":"Keys"},"tags":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object","maxProperties":1000,"minProperties":0},{"type":"null"}],"title":"Tags"},"environment":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Environment"}},"type":"object","title":"SecretUpdate","description":"Update a secret.\n\nSecret types\n------------\n- `custom`: Arbitrary user-defined types\n- `token`: A token, e.g. API Key, JWT Token (TBC)\n- `oauth2`: OAuth2 Client Credentials (TBC)\n- `mtls`: TLS client certificate and key\n- `ca_cert`: Certificate authority bundle"},"SecretValidationDetail":{"properties":{"environment":{"type":"string","title":"Environment"},"secret_name":{"type":"string","title":"Secret Name"}},"type":"object","required":["environment","secret_name"],"title":"SecretValidationDetail","description":"Detail of a secret validation result."},"SecretValidationResult":{"properties":{"type":{"type":"string","const":"secret","title":"Type","default":"secret"},"status":{"type":"string","enum":["success","error"],"title":"Status"},"msg":{"type":"string","title":"Msg","default":""},"detail":{"anyOf":[{"$ref":"#/components/schemas/SecretValidationDetail"},{"type":"null"}]},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"}},"type":"object","required":["status"],"title":"SecretValidationResult","description":"Result of validating credentials."},"Select":{"properties":{"component_id":{"type":"string","const":"select","title":"Component Id","default":"select"},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Options"},"multiple":{"type":"boolean","title":"Multiple","default":false}},"type":"object","title":"Select"},"ServiceAccountApiKeyCounts":{"properties":{"total":{"type":"integer","title":"Total","default":0},"active":{"type":"integer","title":"Active","default":0},"revoked":{"type":"integer","title":"Revoked","default":0}},"type":"object","title":"ServiceAccountApiKeyCounts"},"ServiceAccountApiKeyCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name","default":"Primary"}},"type":"object","title":"ServiceAccountApiKeyCreate"},"ServiceAccountApiKeyIssueResponse":{"properties":{"issued_api_key":{"$ref":"#/components/schemas/IssuedServiceAccountApiKey"},"service_account":{"$ref":"#/components/schemas/ServiceAccountRead"}},"type":"object","required":["issued_api_key","service_account"],"title":"ServiceAccountApiKeyIssueResponse"},"ServiceAccountApiKeyRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"key_id":{"type":"string","title":"Key Id"},"preview":{"type":"string","title":"Preview"},"created_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Created By"},"created_by_user":{"anyOf":[{"$ref":"#/components/schemas/UserReadMinimal"},{"type":"null"}]},"revoked_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Revoked By"},"revoked_by_user":{"anyOf":[{"$ref":"#/components/schemas/UserReadMinimal"},{"type":"null"}]},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked 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","name","key_id","preview","created_at","updated_at"],"title":"ServiceAccountApiKeyRead"},"ServiceAccountCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description"},"scope_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Scope Ids"},"initial_key_name":{"type":"string","maxLength":255,"minLength":1,"title":"Initial Key Name","default":"Primary"}},"type":"object","required":["name"],"title":"ServiceAccountCreate"},"ServiceAccountRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"},"owner_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner User Id"},"owner_user":{"anyOf":[{"$ref":"#/components/schemas/UserReadMinimal"},{"type":"null"}]},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"disabled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disabled At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"scopes":{"items":{"$ref":"#/components/schemas/ServiceAccountScopeRead"},"type":"array","title":"Scopes"},"active_api_key":{"anyOf":[{"$ref":"#/components/schemas/ServiceAccountApiKeyRead"},{"type":"null"}]},"api_key_counts":{"$ref":"#/components/schemas/ServiceAccountApiKeyCounts"}},"type":"object","required":["id","organization_id","name","created_at","updated_at"],"title":"ServiceAccountRead"},"ServiceAccountScopeList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ServiceAccountScopeRead"},"type":"array","title":"Items"}},"type":"object","title":"ServiceAccountScopeList"},"ServiceAccountScopeRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"resource":{"type":"string","title":"Resource"},"action":{"type":"string","title":"Action"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["id","name","resource","action"],"title":"ServiceAccountScopeRead"},"ServiceAccountUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Description"},"scope_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Scope Ids"}},"type":"object","title":"ServiceAccountUpdate"},"SessionRead":{"properties":{"id":{"type":"string","format":"uuid4","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"user_id":{"type":"string","format":"uuid4","title":"User Id"},"user_email":{"type":"string","format":"email","title":"User Email"}},"type":"object","required":["id","created_at","user_id","user_email"],"title":"SessionRead"},"Session_Any_":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"events":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Events","description":"The events in the session."}},"type":"object","required":["id"],"title":"Session[Any]"},"SeverityChangedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"severity_changed","title":"Type","default":"severity_changed"},"old":{"$ref":"#/components/schemas/CaseSeverity"},"new":{"$ref":"#/components/schemas/CaseSeverity"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["old","new","created_at"],"title":"SeverityChangedEventRead","description":"Event for when a case severity is changed."},"SkillCreate":{"properties":{"name":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[a-z0-9-]+$","title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Description"}},"type":"object","required":["name"],"title":"SkillCreate","description":"Payload for creating a new logical skill."},"SkillDraftAttachUploadedBlobOp":{"properties":{"op":{"type":"string","const":"attach_uploaded_blob","title":"Op","default":"attach_uploaded_blob"},"path":{"type":"string","maxLength":1024,"minLength":1,"title":"Path"},"upload_id":{"type":"string","format":"uuid","title":"Upload Id"}},"type":"object","required":["path","upload_id"],"title":"SkillDraftAttachUploadedBlobOp","description":"Attach a finalized staged upload to a draft path."},"SkillDraftDeleteFileOp":{"properties":{"op":{"type":"string","const":"delete_file","title":"Op","default":"delete_file"},"path":{"type":"string","maxLength":1024,"minLength":1,"title":"Path"}},"type":"object","required":["path"],"title":"SkillDraftDeleteFileOp","description":"Delete a file from the mutable skill draft."},"SkillDraftFileRead":{"properties":{"kind":{"type":"string","enum":["inline","download"],"title":"Kind"},"path":{"type":"string","title":"Path"},"content_type":{"type":"string","title":"Content Type"},"size_bytes":{"type":"integer","title":"Size Bytes"},"sha256":{"type":"string","title":"Sha256"},"text_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text Content"},"download_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Download Url"}},"type":"object","required":["kind","path","content_type","size_bytes","sha256"],"title":"SkillDraftFileRead","description":"Response model for reading a single skill draft file."},"SkillDraftMoveFileOp":{"properties":{"op":{"type":"string","const":"move_file","title":"Op","default":"move_file"},"from_path":{"type":"string","maxLength":1024,"minLength":1,"title":"From Path"},"to_path":{"type":"string","maxLength":1024,"minLength":1,"title":"To Path"}},"type":"object","required":["from_path","to_path"],"title":"SkillDraftMoveFileOp","description":"Move (rename) a draft file to a new path while preserving its blob."},"SkillDraftOperation":{"oneOf":[{"$ref":"#/components/schemas/SkillDraftUpsertTextFileOp"},{"$ref":"#/components/schemas/SkillDraftAttachUploadedBlobOp"},{"$ref":"#/components/schemas/SkillDraftDeleteFileOp"},{"$ref":"#/components/schemas/SkillDraftMoveFileOp"}],"discriminator":{"propertyName":"op","mapping":{"attach_uploaded_blob":"#/components/schemas/SkillDraftAttachUploadedBlobOp","delete_file":"#/components/schemas/SkillDraftDeleteFileOp","move_file":"#/components/schemas/SkillDraftMoveFileOp","upsert_text_file":"#/components/schemas/SkillDraftUpsertTextFileOp"}}},"SkillDraftPatch":{"properties":{"base_revision":{"type":"integer","minimum":0.0,"title":"Base Revision"},"operations":{"items":{"$ref":"#/components/schemas/SkillDraftOperation"},"type":"array","minItems":1,"title":"Operations"}},"type":"object","required":["base_revision","operations"],"title":"SkillDraftPatch","description":"Optimistic-concurrency draft mutation request."},"SkillDraftRead":{"properties":{"skill_id":{"type":"string","format":"uuid","title":"Skill Id"},"skill_name":{"type":"string","title":"Skill Name"},"draft_revision":{"type":"integer","title":"Draft Revision"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"files":{"items":{"$ref":"#/components/schemas/SkillFileEntry"},"type":"array","title":"Files"},"is_publishable":{"type":"boolean","title":"Is Publishable"},"validation_errors":{"items":{"$ref":"#/components/schemas/SkillValidationErrorDetail"},"type":"array","title":"Validation Errors"}},"type":"object","required":["skill_id","skill_name","draft_revision","is_publishable"],"title":"SkillDraftRead","description":"Current mutable draft state for a skill."},"SkillDraftUpsertTextFileOp":{"properties":{"op":{"type":"string","const":"upsert_text_file","title":"Op","default":"upsert_text_file"},"path":{"type":"string","maxLength":1024,"minLength":1,"title":"Path"},"content":{"type":"string","title":"Content"},"content_type":{"type":"string","maxLength":255,"title":"Content Type","default":"text/plain; charset=utf-8"}},"type":"object","required":["path","content"],"title":"SkillDraftUpsertTextFileOp","description":"Replace or create a text file in the skill draft."},"SkillFileEntry":{"properties":{"path":{"type":"string","title":"Path"},"blob_id":{"type":"string","format":"uuid","title":"Blob Id"},"sha256":{"type":"string","title":"Sha256"},"size_bytes":{"type":"integer","title":"Size Bytes"},"content_type":{"type":"string","title":"Content Type"}},"type":"object","required":["path","blob_id","sha256","size_bytes","content_type"],"title":"SkillFileEntry","description":"Manifest entry for a skill file (used in both drafts and versions)."},"SkillRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"current_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Current Version Id"},"draft_revision":{"type":"integer","title":"Draft Revision"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"deleted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deleted At"},"current_version":{"anyOf":[{"$ref":"#/components/schemas/SkillVersionReadMinimal"},{"type":"null"}]},"is_draft_publishable":{"type":"boolean","title":"Is Draft Publishable"},"draft_validation_errors":{"items":{"$ref":"#/components/schemas/SkillValidationErrorDetail"},"type":"array","title":"Draft Validation Errors"},"draft_file_count":{"type":"integer","title":"Draft File Count"}},"type":"object","required":["id","workspace_id","name","slug","draft_revision","created_at","updated_at","is_draft_publishable","draft_file_count"],"title":"SkillRead","description":"Full response model for a workspace skill."},"SkillReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"current_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Current Version Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"deleted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deleted At"}},"type":"object","required":["id","workspace_id","name","slug","created_at","updated_at"],"title":"SkillReadMinimal","description":"Minimal response model for listing workspace skills.\n\n``slug`` is the late-binding handle every skill API accepts; list\nresponses must expose it so callers never have to guess it from ``name``\n(names are not unique — slugs are, per live row)."},"SkillUpload":{"properties":{"name":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[a-z0-9-]+$","title":"Name"},"files":{"items":{"$ref":"#/components/schemas/SkillUploadFile"},"type":"array","minItems":1,"title":"Files"}},"type":"object","required":["name","files"],"title":"SkillUpload","description":"Payload for importing a full skill draft in one request."},"SkillUploadFile":{"properties":{"path":{"type":"string","maxLength":1024,"minLength":1,"title":"Path"},"content_base64":{"type":"string","title":"Content Base64"},"content_type":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Content Type"}},"type":"object","required":["path","content_base64"],"title":"SkillUploadFile","description":"Single file in a one-shot skill upload payload."},"SkillUploadSessionCreate":{"properties":{"sha256":{"type":"string","maxLength":64,"minLength":64,"pattern":"^[0-9a-fA-F]{64}$","title":"Sha256"},"size_bytes":{"type":"integer","minimum":0.0,"title":"Size Bytes"},"content_type":{"type":"string","maxLength":255,"minLength":1,"title":"Content Type"}},"type":"object","required":["sha256","size_bytes","content_type"],"title":"SkillUploadSessionCreate","description":"Request body for creating a staged draft upload."},"SkillUploadSessionRead":{"properties":{"upload_id":{"type":"string","format":"uuid","title":"Upload Id"},"upload_url":{"type":"string","title":"Upload Url"},"method":{"type":"string","const":"PUT","title":"Method","default":"PUT"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"bucket":{"type":"string","title":"Bucket"},"key":{"type":"string","title":"Key"}},"type":"object","required":["upload_id","upload_url","expires_at","bucket","key"],"title":"SkillUploadSessionRead","description":"Presigned upload session details for a draft file blob."},"SkillValidationErrorDetail":{"properties":{"code":{"type":"string","title":"Code"},"message":{"type":"string","title":"Message"},"path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path"}},"type":"object","required":["code","message"],"title":"SkillValidationErrorDetail","description":"Structured draft validation error."},"SkillVersionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"skill_id":{"type":"string","format":"uuid","title":"Skill Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"version":{"type":"integer","title":"Version"},"manifest_sha256":{"type":"string","title":"Manifest Sha256"},"file_count":{"type":"integer","title":"File Count"},"total_size_bytes":{"type":"integer","title":"Total Size Bytes"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"files":{"items":{"$ref":"#/components/schemas/SkillFileEntry"},"type":"array","title":"Files"}},"type":"object","required":["id","skill_id","workspace_id","version","manifest_sha256","file_count","total_size_bytes","name","created_at","updated_at"],"title":"SkillVersionRead","description":"Published skill version response including its manifest."},"SkillVersionReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"skill_id":{"type":"string","format":"uuid","title":"Skill Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"version":{"type":"integer","title":"Version"},"manifest_sha256":{"type":"string","title":"Manifest Sha256"},"file_count":{"type":"integer","title":"File Count"},"total_size_bytes":{"type":"integer","title":"Total Size Bytes"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","skill_id","workspace_id","version","manifest_sha256","file_count","total_size_bytes","name","created_at","updated_at"],"title":"SkillVersionReadMinimal","description":"Summary response model for published skill versions in list endpoints."},"SlackChannelTokenConfig":{"properties":{"slack_bot_token":{"type":"string","minLength":1,"title":"Slack Bot Token","description":"Slack bot token used for API calls"},"slack_client_id":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Slack Client Id","description":"Slack app client ID used for OAuth install"},"slack_client_secret":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Slack Client Secret","description":"Slack app client secret used for OAuth install"},"slack_signing_secret":{"type":"string","minLength":1,"title":"Slack Signing Secret","description":"Slack signing secret used for request verification"}},"type":"object","required":["slack_bot_token","slack_signing_secret"],"title":"SlackChannelTokenConfig","description":"Slack channel token configuration."},"SlackOAuthStartRequest":{"properties":{"token_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Token Id","description":"Existing channel token ID. If omitted, creates one."},"agent_preset_id":{"type":"string","format":"uuid","title":"Agent Preset Id","description":"Agent preset to associate with the channel token."},"client_id":{"type":"string","minLength":1,"title":"Client Id","description":"Slack app client ID"},"client_secret":{"type":"string","minLength":1,"title":"Client Secret","description":"Slack app client secret"},"signing_secret":{"type":"string","minLength":1,"title":"Signing Secret","description":"Slack app signing secret"},"return_url":{"type":"string","minLength":1,"title":"Return Url","description":"URL to return users to after OAuth callback"}},"type":"object","required":["agent_preset_id","client_id","client_secret","signing_secret","return_url"],"title":"SlackOAuthStartRequest","description":"Request schema for starting Slack OAuth install flow."},"SlackOAuthStartResponse":{"properties":{"authorization_url":{"type":"string","title":"Authorization Url"},"token":{"$ref":"#/components/schemas/AgentChannelTokenRead"}},"type":"object","required":["authorization_url","token"],"title":"SlackOAuthStartResponse","description":"Response schema for Slack OAuth start."},"SourceDocumentUIPart":{"properties":{"type":{"type":"string","const":"source-document","title":"Type"},"sourceId":{"type":"string","title":"Sourceid"},"mediaType":{"type":"string","title":"Mediatype"},"title":{"type":"string","title":"Title"},"filename":{"type":"string","title":"Filename"},"providerMetadata":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Providermetadata"}},"additionalProperties":false,"type":"object","required":["type","sourceId","mediaType","title"],"title":"SourceDocumentUIPart","description":"A document source part of a message."},"SourceUrlUIPart":{"properties":{"type":{"type":"string","const":"source-url","title":"Type"},"sourceId":{"type":"string","title":"Sourceid"},"url":{"type":"string","title":"Url"},"title":{"type":"string","title":"Title"},"providerMetadata":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Providermetadata"}},"additionalProperties":false,"type":"object","required":["type","sourceId","url"],"title":"SourceUrlUIPart","description":"A source URL part of a message."},"SpecialUserID":{"type":"string","enum":["current"],"title":"SpecialUserID","description":"A sentinel user ID that represents the current user."},"SqlType":{"type":"string","enum":["TEXT","INTEGER","NUMERIC","DATE","BOOLEAN","TIMESTAMPTZ","JSONB","SELECT","MULTI_SELECT"],"title":"SqlType","description":"Supported SQL types."},"StatusChangedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"status_changed","title":"Type","default":"status_changed"},"old":{"$ref":"#/components/schemas/CaseStatus"},"new":{"$ref":"#/components/schemas/CaseStatus"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["old","new","created_at"],"title":"StatusChangedEventRead","description":"Event for when a case status is changed."},"StepStartUIPart":{"properties":{"type":{"type":"string","const":"step-start","title":"Type"}},"additionalProperties":false,"type":"object","required":["type"],"title":"StepStartUIPart","description":"A step boundary part of a message."},"StreamEvent":{"properties":{"uuid":{"type":"string","title":"Uuid"},"session_id":{"type":"string","title":"Session Id"},"event":{"additionalProperties":true,"type":"object","title":"Event"},"parent_tool_use_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Tool Use Id"}},"type":"object","required":["uuid","session_id","event"],"title":"StreamEvent"},"StringListFieldChange":{"properties":{"field":{"type":"string","title":"Field"},"added":{"items":{"type":"string"},"type":"array","title":"Added"},"removed":{"items":{"type":"string"},"type":"array","title":"Removed"}},"type":"object","required":["field"],"title":"StringListFieldChange","description":"List diff for preset version fields."},"SyncPreviewResource":{"properties":{"resource_type":{"type":"string","title":"Resource Type"},"source_id":{"type":"string","title":"Source Id"},"name":{"type":"string","title":"Name"},"path":{"type":"string","title":"Path"}},"type":"object","required":["resource_type","source_id","name","path"],"title":"SyncPreviewResource"},"SyncResourceType":{"type":"string","enum":["workflow","agent_preset","skill","table","case_tag","case_field","case_dropdown","case_duration","variable","secret_metadata"],"title":"SyncResourceType","description":"Kind of workspace resource that can be synced to and from Git.\n\nEvery member is adapter-backed: it can be projected to and imported from\nrepository files."},"SyntaxToken":{"properties":{"type":{"type":"string","title":"Type"},"value":{"type":"string","title":"Value"},"start":{"type":"integer","title":"Start"},"end":{"type":"integer","title":"End"}},"type":"object","required":["type","value","start","end"],"title":"SyntaxToken"},"SystemMessage":{"properties":{"subtype":{"type":"string","title":"Subtype"},"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["subtype","data"],"title":"SystemMessage"},"TableArtifact":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"scope":{"anyOf":[{"$ref":"#/components/schemas/ArtifactScope"},{"type":"null"}]},"type":{"type":"string","const":"table","title":"Type","default":"table"},"rowCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rowcount"}},"additionalProperties":false,"type":"object","required":["id","title"],"title":"TableArtifact","description":"Table artifact shown in artifact-capable chat surfaces."},"TableColumnCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"The name of the column"},"type":{"$ref":"#/components/schemas/SqlType","maxLength":100,"minLength":1,"description":"The SQL type of the column"},"nullable":{"type":"boolean","title":"Nullable","default":true},"default":{"anyOf":[{},{"type":"null"}],"title":"Default"},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Options"}},"type":"object","required":["name","type"],"title":"TableColumnCreate","description":"Create model for a table column."},"TableColumnRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"type":{"$ref":"#/components/schemas/SqlType"},"nullable":{"type":"boolean","title":"Nullable","default":true},"default":{"anyOf":[{},{"type":"null"}],"title":"Default"},"is_index":{"type":"boolean","title":"Is Index","default":false},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Options"}},"type":"object","required":["id","name","type"],"title":"TableColumnRead","description":"Definition for a table column."},"TableColumnUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name","description":"The name of the column"},"type":{"anyOf":[{"$ref":"#/components/schemas/SqlType","maxLength":100,"minLength":1},{"type":"null"}],"description":"The SQL type of the column"},"nullable":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Nullable","description":"Whether the column can be null"},"default":{"anyOf":[{},{"type":"null"}],"title":"Default","description":"The default value of the column"},"is_index":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Index","description":"True creates a unique index, False drops it, None leaves unchanged."},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Options"}},"type":"object","title":"TableColumnUpdate","description":"Update model for a table column."},"TableCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"The name of the table"},"columns":{"items":{"$ref":"#/components/schemas/TableColumnCreate"},"type":"array","title":"Columns","description":"The columns of the table"}},"type":"object","required":["name"],"title":"TableCreate","description":"Create model for a table."},"TableImportResponse":{"properties":{"table":{"$ref":"#/components/schemas/TableRead"},"rows_inserted":{"type":"integer","title":"Rows Inserted"},"column_mapping":{"items":{"$ref":"#/components/schemas/InferredColumn"},"type":"array","title":"Column Mapping"}},"type":"object","required":["table","rows_inserted","column_mapping"],"title":"TableImportResponse","description":"Response model for importing a table from CSV."},"TableRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"columns":{"items":{"$ref":"#/components/schemas/TableColumnRead"},"type":"array","title":"Columns"}},"type":"object","required":["id","name","columns"],"title":"TableRead","description":"Read model for a table."},"TableReadMinimal":{"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":"TableReadMinimal","description":"Read model for a table."},"TableRowBatchDelete":{"properties":{"row_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":1000,"minItems":1,"title":"Row Ids"}},"type":"object","required":["row_ids"],"title":"TableRowBatchDelete","description":"Request body for batch deleting rows."},"TableRowBatchDeleteResponse":{"properties":{"rows_deleted":{"type":"integer","title":"Rows Deleted"}},"type":"object","required":["rows_deleted"],"title":"TableRowBatchDeleteResponse","description":"Response for batch delete operation."},"TableRowBatchUpdate":{"properties":{"row_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":1000,"minItems":1,"title":"Row Ids"},"data":{"additionalProperties":true,"type":"object","minProperties":1,"title":"Data"}},"type":"object","required":["row_ids","data"],"title":"TableRowBatchUpdate","description":"Request body for batch updating rows."},"TableRowBatchUpdateResponse":{"properties":{"rows_updated":{"type":"integer","title":"Rows Updated"}},"type":"object","required":["rows_updated"],"title":"TableRowBatchUpdateResponse","description":"Response for batch update operation."},"TableRowInsert":{"properties":{"data":{"additionalProperties":true,"type":"object","title":"Data"},"upsert":{"type":"boolean","title":"Upsert","default":false}},"type":"object","required":["data"],"title":"TableRowInsert","description":"Insert model for a table row."},"TableRowInsertBatch":{"properties":{"rows":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Rows"},"upsert":{"type":"boolean","title":"Upsert","default":false}},"type":"object","required":["rows"],"title":"TableRowInsertBatch","description":"Request body for batch inserting rows."},"TableRowInsertBatchResponse":{"properties":{"rows_inserted":{"type":"integer","title":"Rows Inserted"}},"type":"object","required":["rows_inserted"],"title":"TableRowInsertBatchResponse","description":"Response for batch insert operation."},"TableRowLinkedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"table_row_linked","title":"Type","default":"table_row_linked"},"table_id":{"type":"string","format":"uuid","title":"Table Id"},"table_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Table Name"},"row_id":{"type":"string","format":"uuid","title":"Row Id"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["table_id","row_id","created_at"],"title":"TableRowLinkedEventRead","description":"Event for when a table row is linked to a case."},"TableRowRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"additionalProperties":true,"type":"object","required":["id","created_at","updated_at"],"title":"TableRowRead","description":"Read model for a table row."},"TableRowUnlinkedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"table_row_unlinked","title":"Type","default":"table_row_unlinked"},"table_id":{"type":"string","format":"uuid","title":"Table Id"},"table_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Table Name"},"row_id":{"type":"string","format":"uuid","title":"Row Id"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["table_id","row_id","created_at"],"title":"TableRowUnlinkedEventRead","description":"Event for when a table row is unlinked from a case."},"TableRowUpdate":{"properties":{"data":{"additionalProperties":true,"type":"object","title":"Data"}},"type":"object","required":["data"],"title":"TableRowUpdate","description":"Update model for a table row."},"TableUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name","description":"The name of the table"}},"type":"object","title":"TableUpdate","description":"Update model for a table."},"TagAddedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"tag_added","title":"Type","default":"tag_added"},"tag_id":{"type":"string","format":"uuid","title":"Tag Id"},"tag_ref":{"type":"string","title":"Tag Ref"},"tag_name":{"type":"string","title":"Tag Name"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["tag_id","tag_ref","tag_name","created_at"],"title":"TagAddedEventRead","description":"Event for when a tag is added to a case."},"TagCreate":{"properties":{"name":{"type":"string","maxLength":50,"minLength":1,"title":"Name"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color","description":"Hex color code"}},"type":"object","required":["name"],"title":"TagCreate","description":"Model for creating new tags with validation."},"TagInput":{"properties":{"component_id":{"type":"string","const":"tag-input","title":"Component Id","default":"tag-input"}},"type":"object","title":"TagInput"},"TagRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","maxLength":50,"minLength":1,"title":"Name"},"ref":{"type":"string","title":"Ref","description":"Slug-like identifier derived from name, used for API lookups"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color","description":"Hex color code"}},"type":"object","required":["id","name","ref"],"title":"TagRead","description":"Model for reading tag data with validation."},"TagRemovedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"tag_removed","title":"Type","default":"tag_removed"},"tag_id":{"type":"string","format":"uuid","title":"Tag Id"},"tag_ref":{"type":"string","title":"Tag Ref"},"tag_name":{"type":"string","title":"Tag Name"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["tag_id","tag_ref","tag_name","created_at"],"title":"TagRemovedEventRead","description":"Event for when a tag is removed from a case."},"TagUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Name"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color","description":"Hex color code"}},"type":"object","title":"TagUpdate","description":"Model for updating existing tags with validation."},"TaskAssigneeChangedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"task_assignee_changed","title":"Type","default":"task_assignee_changed"},"task_id":{"type":"string","format":"uuid","title":"Task Id"},"title":{"type":"string","title":"Title"},"old":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Old"},"new":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"New"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["task_id","title","old","new","created_at"],"title":"TaskAssigneeChangedEventRead","description":"Event for when a task assignee is changed."},"TaskCreatedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"task_created","title":"Type","default":"task_created"},"task_id":{"type":"string","format":"uuid","title":"Task Id"},"title":{"type":"string","title":"Title"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["task_id","title","created_at"],"title":"TaskCreatedEventRead","description":"Event for when a task is created for a case."},"TaskDeletedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"task_deleted","title":"Type","default":"task_deleted"},"task_id":{"type":"string","format":"uuid","title":"Task Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["task_id","created_at"],"title":"TaskDeletedEventRead","description":"Event for when a task is deleted for a case."},"TaskPriorityChangedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"task_priority_changed","title":"Type","default":"task_priority_changed"},"task_id":{"type":"string","format":"uuid","title":"Task Id"},"title":{"type":"string","title":"Title"},"old":{"$ref":"#/components/schemas/CasePriority"},"new":{"$ref":"#/components/schemas/CasePriority"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["task_id","title","old","new","created_at"],"title":"TaskPriorityChangedEventRead","description":"Event for when a task priority is changed."},"TaskResult":{"properties":{"result":{"oneOf":[{"$ref":"#/components/schemas/InlineObject"},{"$ref":"#/components/schemas/ExternalObject"},{"$ref":"#/components/schemas/CollectionObject"}],"title":"Result","discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/CollectionObject","external":"#/components/schemas/ExternalObject","inline":"#/components/schemas/InlineObject"}}},"result_typename":{"type":"string","title":"Result Typename"},"error":{"anyOf":[{},{"type":"null"}],"title":"Error"},"error_typename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Typename"},"interaction":{"anyOf":[{},{"type":"null"}],"title":"Interaction"},"interaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Interaction Id"},"interaction_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Interaction Type"},"collection_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Collection Index"}},"type":"object","required":["result","result_typename"],"title":"TaskResult","description":"Result of executing a DSL node.\n\nWith uniform envelope design, `result` is always a StoredObject:\n- InlineObject when data is small or externalization is disabled\n- ExternalObject when data is large and externalization is enabled"},"TaskStatusChangedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"task_status_changed","title":"Type","default":"task_status_changed"},"task_id":{"type":"string","format":"uuid","title":"Task Id"},"title":{"type":"string","title":"Title"},"old":{"$ref":"#/components/schemas/CaseTaskStatus"},"new":{"$ref":"#/components/schemas/CaseTaskStatus"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["task_id","title","old","new","created_at"],"title":"TaskStatusChangedEventRead","description":"Event for when a task status is changed."},"TaskWorkflowChangedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"task_workflow_changed","title":"Type","default":"task_workflow_changed"},"task_id":{"type":"string","format":"uuid","title":"Task Id"},"title":{"type":"string","title":"Title"},"old":{"anyOf":[{"type":"string"},{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"},{"type":"null"}],"title":"Old"},"new":{"anyOf":[{"type":"string"},{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"},{"type":"null"}],"title":"New"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["task_id","title","old","new","created_at"],"title":"TaskWorkflowChangedEventRead","description":"Event for when a task workflow is changed."},"TemplateAction":{"properties":{"type":{"type":"string","const":"action","title":"Type","default":"action"},"definition":{"$ref":"#/components/schemas/TemplateActionDefinition"}},"type":"object","required":["definition"],"title":"TemplateAction"},"TemplateActionDefinition":{"properties":{"name":{"type":"string","title":"Name","description":"The action name"},"namespace":{"type":"string","title":"Namespace","description":"The namespace of the action"},"title":{"type":"string","title":"Title","description":"The title of the action"},"description":{"type":"string","title":"Description","description":"The description of the action","default":""},"display_group":{"type":"string","title":"Display Group","description":"The display group of the action"},"doc_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Url","description":"Link to documentation"},"author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author","description":"Author of the action"},"deprecated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deprecated","description":"Marks action as deprecated along with message"},"secrets":{"anyOf":[{"items":{"$ref":"#/components/schemas/RegistrySecretType"},"type":"array"},{"type":"null"}],"title":"Secrets","description":"The secrets to pass to the action"},"expects":{"additionalProperties":{"$ref":"#/components/schemas/ExpectedField-Output"},"type":"object","title":"Expects","description":"The arguments to pass to the action"},"steps":{"items":{"$ref":"#/components/schemas/ActionStep"},"type":"array","title":"Steps","description":"The sequence of steps for the action"},"returns":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"additionalProperties":true,"type":"object"}],"title":"Returns","description":"The result of the action"}},"type":"object","required":["name","namespace","title","display_group","expects","steps","returns"],"title":"TemplateActionDefinition"},"TemplateActionExprValidationResult":{"properties":{"type":{"type":"string","const":"action_template","title":"Type","default":"action_template"},"status":{"type":"string","enum":["success","error"],"title":"Status"},"msg":{"type":"string","title":"Msg","default":""},"detail":{"anyOf":[{"items":{"$ref":"#/components/schemas/ValidationDetail"},"type":"array"},{"type":"null"}],"title":"Detail"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"expression":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expression"},"expression_type":{"$ref":"#/components/schemas/ExprType"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Loc"}},"type":"object","required":["status","expression_type","loc"],"title":"TemplateActionExprValidationResult","description":"Result of visiting an expression node."},"TemplateActionValidationErrorType":{"type":"string","enum":["ACTION_NOT_FOUND","ACTION_NAME_CONFLICT","STEP_VALIDATION_ERROR","EXPRESSION_VALIDATION_ERROR","SERIALIZATION_ERROR"],"title":"TemplateActionValidationErrorType"},"Text":{"properties":{"component_id":{"type":"string","const":"text","title":"Component Id","default":"text"}},"type":"object","title":"Text"},"TextArea":{"properties":{"component_id":{"type":"string","const":"text-area","title":"Component Id","default":"text-area"},"rows":{"type":"integer","title":"Rows","default":4},"placeholder":{"type":"string","title":"Placeholder","default":""}},"type":"object","title":"TextArea"},"TextBlock":{"properties":{"text":{"type":"string","title":"Text"}},"type":"object","required":["text"],"title":"TextBlock"},"TextUIPart":{"properties":{"type":{"type":"string","const":"text","title":"Type"},"text":{"type":"string","title":"Text"},"state":{"type":"string","enum":["streaming","done"],"title":"State"},"providerMetadata":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Providermetadata"}},"additionalProperties":false,"type":"object","required":["type","text"],"title":"TextUIPart","description":"A text part of a message."},"ThinkingBlock":{"properties":{"thinking":{"type":"string","title":"Thinking"},"signature":{"type":"string","title":"Signature"}},"type":"object","required":["thinking","signature"],"title":"ThinkingBlock"},"TierCreate":{"properties":{"display_name":{"type":"string","maxLength":255,"minLength":1,"title":"Display Name"},"max_concurrent_workflows":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Concurrent Workflows"},"max_action_executions_per_workflow":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Action Executions Per Workflow"},"max_concurrent_actions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Concurrent Actions"},"api_rate_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Api Rate Limit"},"api_burst_capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Api Burst Capacity"},"entitlements":{"$ref":"#/components/schemas/EntitlementsDict","default":{}},"is_default":{"type":"boolean","title":"Is Default","default":false},"sort_order":{"type":"integer","title":"Sort Order","default":0}},"type":"object","required":["display_name"],"title":"TierCreate","description":"Create tier request."},"TierRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"display_name":{"type":"string","title":"Display Name"},"max_concurrent_workflows":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Concurrent Workflows"},"max_action_executions_per_workflow":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Action Executions Per Workflow"},"max_concurrent_actions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Concurrent Actions"},"api_rate_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Api Rate Limit"},"api_burst_capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Api Burst Capacity"},"entitlements":{"$ref":"#/components/schemas/EntitlementsDict"},"is_default":{"type":"boolean","title":"Is Default"},"sort_order":{"type":"integer","title":"Sort Order"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","display_name","max_concurrent_workflows","max_action_executions_per_workflow","max_concurrent_actions","api_rate_limit","api_burst_capacity","entitlements","is_default","sort_order","is_active","created_at","updated_at"],"title":"TierRead","description":"Tier response schema."},"TierUpdate":{"properties":{"display_name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Display Name"},"max_concurrent_workflows":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Concurrent Workflows"},"max_action_executions_per_workflow":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Action Executions Per Workflow"},"max_concurrent_actions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Concurrent Actions"},"api_rate_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Api Rate Limit"},"api_burst_capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Api Burst Capacity"},"entitlements":{"anyOf":[{"$ref":"#/components/schemas/EntitlementsDict"},{"type":"null"}]},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"},"sort_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sort Order"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"TierUpdate","description":"Update tier request."},"Toggle":{"properties":{"label_on":{"type":"string","title":"Label On","default":"On"},"label_off":{"type":"string","title":"Label Off","default":"Off"},"component_id":{"type":"string","const":"toggle","title":"Component Id","default":"toggle"}},"type":"object","title":"Toggle"},"ToolApprovalFieldChange":{"properties":{"tool":{"type":"string","title":"Tool"},"old_value":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Old Value"},"new_value":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"New Value"}},"type":"object","required":["tool"],"title":"ToolApprovalFieldChange","description":"Approval diff for a single tool."},"ToolApproved":{"properties":{"override_args":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Override Args"},"kind":{"type":"string","const":"tool-approved","title":"Kind","default":"tool-approved"}},"type":"object","title":"ToolApproved"},"ToolApprovedDecision":{"properties":{"kind":{"type":"string","const":"tool-approved","title":"Kind"},"override_args":{"additionalProperties":true,"type":"object","title":"Override Args"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["kind"],"title":"ToolApprovedDecision","description":"Persisted decision for a tool approved with argument overrides."},"ToolDenied":{"properties":{"message":{"type":"string","title":"Message","default":"The tool call was denied."},"kind":{"type":"string","const":"tool-denied","title":"Kind","default":"tool-denied"}},"type":"object","title":"ToolDenied"},"ToolDeniedDecision":{"properties":{"kind":{"type":"string","const":"tool-denied","title":"Kind"},"message":{"type":"string","title":"Message"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["kind"],"title":"ToolDeniedDecision","description":"Persisted decision for a denied tool call."},"ToolResultBlock":{"properties":{"tool_use_id":{"type":"string","title":"Tool Use Id"},"content":{"anyOf":[{"type":"string"},{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Content"},"is_error":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Error"}},"type":"object","required":["tool_use_id"],"title":"ToolResultBlock"},"ToolReturn":{"properties":{"return_value":{"$ref":"#/components/schemas/ToolReturnContent"},"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"type":"string"},{"oneOf":[{"$ref":"#/components/schemas/ImageUrl"},{"$ref":"#/components/schemas/AudioUrl"},{"$ref":"#/components/schemas/DocumentUrl"},{"$ref":"#/components/schemas/VideoUrl"},{"$ref":"#/components/schemas/BinaryContent"}],"discriminator":{"propertyName":"kind","mapping":{"audio-url":"#/components/schemas/AudioUrl","binary":"#/components/schemas/BinaryContent","document-url":"#/components/schemas/DocumentUrl","image-url":"#/components/schemas/ImageUrl","video-url":"#/components/schemas/VideoUrl"}}},{"$ref":"#/components/schemas/CachePoint"}]},"type":"array"},{"type":"null"}],"title":"Content"},"metadata":{"title":"Metadata"},"kind":{"type":"string","const":"tool-return","title":"Kind","default":"tool-return"}},"type":"object","required":["return_value"],"title":"ToolReturn"},"ToolReturnContent":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/ImageUrl"},{"$ref":"#/components/schemas/AudioUrl"},{"$ref":"#/components/schemas/DocumentUrl"},{"$ref":"#/components/schemas/VideoUrl"},{"$ref":"#/components/schemas/BinaryContent"}],"discriminator":{"propertyName":"kind","mapping":{"audio-url":"#/components/schemas/AudioUrl","binary":"#/components/schemas/BinaryContent","document-url":"#/components/schemas/DocumentUrl","image-url":"#/components/schemas/ImageUrl","video-url":"#/components/schemas/VideoUrl"}}},{"items":{"$ref":"#/components/schemas/ToolReturnContent"},"type":"array"},{"additionalProperties":{"$ref":"#/components/schemas/ToolReturnContent"},"type":"object"},{}]},"ToolUIPartInputAvailable":{"properties":{"type":{"type":"string","title":"Type"},"toolCallId":{"type":"string","title":"Toolcallid"},"state":{"type":"string","const":"input-available","title":"State"},"input":{"title":"Input"},"providerExecuted":{"type":"boolean","title":"Providerexecuted"},"output":{"type":"null","title":"Output"},"errorText":{"type":"null","title":"Errortext"},"callProviderMetadata":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Callprovidermetadata"}},"additionalProperties":false,"type":"object","required":["type","toolCallId","state","input"],"title":"ToolUIPartInputAvailable"},"ToolUIPartInputStreaming":{"properties":{"type":{"type":"string","title":"Type"},"toolCallId":{"type":"string","title":"Toolcallid"},"state":{"type":"string","const":"input-streaming","title":"State"},"input":{"title":"Input"},"providerExecuted":{"type":"boolean","title":"Providerexecuted"},"output":{"type":"null","title":"Output"},"errorText":{"type":"null","title":"Errortext"}},"additionalProperties":false,"type":"object","required":["type","toolCallId","state"],"title":"ToolUIPartInputStreaming"},"ToolUIPartOutputAvailable":{"properties":{"type":{"type":"string","title":"Type"},"toolCallId":{"type":"string","title":"Toolcallid"},"state":{"type":"string","const":"output-available","title":"State"},"input":{"title":"Input"},"output":{"title":"Output"},"errorText":{"type":"null","title":"Errortext"},"providerExecuted":{"type":"boolean","title":"Providerexecuted"},"callProviderMetadata":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Callprovidermetadata"},"preliminary":{"type":"boolean","title":"Preliminary"}},"additionalProperties":false,"type":"object","required":["type","toolCallId","state","input","output"],"title":"ToolUIPartOutputAvailable"},"ToolUIPartOutputError":{"properties":{"type":{"type":"string","title":"Type"},"toolCallId":{"type":"string","title":"Toolcallid"},"state":{"type":"string","const":"output-error","title":"State"},"input":{"title":"Input"},"rawInput":{"title":"Rawinput"},"output":{"type":"null","title":"Output"},"errorText":{"type":"string","title":"Errortext"},"providerExecuted":{"type":"boolean","title":"Providerexecuted"},"callProviderMetadata":{"additionalProperties":{"additionalProperties":true,"type":"object"},"type":"object","title":"Callprovidermetadata"}},"additionalProperties":false,"type":"object","required":["type","toolCallId","state","errorText"],"title":"ToolUIPartOutputError"},"ToolUseBlock":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"input":{"additionalProperties":true,"type":"object","title":"Input"}},"type":"object","required":["id","name","input"],"title":"ToolUseBlock"},"Trigger":{"properties":{"type":{"type":"string","enum":["schedule","webhook"],"title":"Type"},"ref":{"type":"string","pattern":"^[a-z0-9_]+$","title":"Ref"},"args":{"additionalProperties":true,"type":"object","title":"Args"}},"type":"object","required":["type","ref"],"title":"Trigger"},"TriggerType":{"type":"string","enum":["manual","scheduled","webhook","case"],"title":"TriggerType","description":"Trigger type for a workflow execution."},"UIMessage":{"properties":{"id":{"type":"string","title":"Id"},"role":{"type":"string","enum":["system","user","assistant"],"title":"Role"},"metadata":{"anyOf":[{},{"type":"null"}],"title":"Metadata"},"parts":{"items":{"anyOf":[{"$ref":"#/components/schemas/TextUIPart"},{"$ref":"#/components/schemas/ReasoningUIPart"},{"$ref":"#/components/schemas/SourceUrlUIPart"},{"$ref":"#/components/schemas/SourceDocumentUIPart"},{"$ref":"#/components/schemas/FileUIPart"},{"$ref":"#/components/schemas/StepStartUIPart"},{"$ref":"#/components/schemas/DynamicToolUIPartInputStreaming"},{"$ref":"#/components/schemas/DynamicToolUIPartInputAvailable"},{"$ref":"#/components/schemas/DynamicToolUIPartOutputAvailable"},{"$ref":"#/components/schemas/DynamicToolUIPartOutputError"},{"$ref":"#/components/schemas/ToolUIPartInputStreaming"},{"$ref":"#/components/schemas/ToolUIPartInputAvailable"},{"$ref":"#/components/schemas/ToolUIPartOutputAvailable"},{"$ref":"#/components/schemas/ToolUIPartOutputError"},{"$ref":"#/components/schemas/DataUIPart"}]},"type":"array","title":"Parts"}},"additionalProperties":false,"type":"object","required":["id","role","parts"],"title":"UIMessage","description":"Pydantic model for AI SDK UI Messages, used for validation between\nfrontend and backend."},"UnreadableTemporalPayload":{"properties":{"error":{"type":"string","const":"unreadable_temporal_payload","title":"Error","default":"unreadable_temporal_payload"},"error_type":{"type":"string","title":"Error Type"},"encoding":{"type":"string","title":"Encoding"},"payload_size_bytes":{"type":"integer","title":"Payload Size Bytes"}},"type":"object","required":["error_type","encoding","payload_size_bytes"],"title":"UnreadableTemporalPayload","description":"Structured placeholder for Temporal payloads that cannot be decoded."},"UpdatedEventRead":{"properties":{"wf_exec_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wf Exec Id","description":"The execution ID of the workflow that triggered the event."},"type":{"type":"string","const":"case_updated","title":"Type","default":"case_updated"},"field":{"type":"string","const":"summary","title":"Field"},"old":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Old"},"new":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user who performed the action."},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"The timestamp of the event."}},"type":"object","required":["field","old","new","created_at"],"title":"UpdatedEventRead","description":"Event for when a case is updated."},"UserMessage":{"properties":{"content":{"anyOf":[{"type":"string"},{"items":{"anyOf":[{"$ref":"#/components/schemas/TextBlock"},{"$ref":"#/components/schemas/ThinkingBlock"},{"$ref":"#/components/schemas/ToolUseBlock"},{"$ref":"#/components/schemas/ToolResultBlock"}]},"type":"array"}],"title":"Content"},"uuid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uuid"},"parent_tool_use_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Tool Use Id"},"tool_use_result":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Tool Use Result"}},"type":"object","required":["content"],"title":"UserMessage"},"UserRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","format":"email","title":"Email"},"is_active":{"type":"boolean","title":"Is Active","default":true},"is_superuser":{"type":"boolean","title":"Is Superuser","default":false},"is_verified":{"type":"boolean","title":"Is Verified","default":false},"role":{"$ref":"#/components/schemas/UserRole"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"settings":{"additionalProperties":true,"type":"object","title":"Settings"}},"type":"object","required":["id","email","role","settings"],"title":"UserRead"},"UserReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","format":"email","title":"Email"},"role":{"$ref":"#/components/schemas/UserRole"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"}},"type":"object","required":["id","email","role"],"title":"UserReadMinimal"},"UserRole":{"type":"string","enum":["basic","admin"],"title":"UserRole"},"UserRoleAssignmentCreate":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id","description":"User ID to assign role to"},"role_id":{"type":"string","format":"uuid","title":"Role Id","description":"Role ID to assign to the user"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id","description":"Workspace ID for workspace-level assignment. If None, creates org-wide assignment."}},"type":"object","required":["user_id","role_id"],"title":"UserRoleAssignmentCreate","description":"Create schema for a user role assignment."},"UserRoleAssignmentList":{"properties":{"items":{"items":{"$ref":"#/components/schemas/UserRoleAssignmentReadWithDetails"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"UserRoleAssignmentList","description":"Response schema for listing user role assignments."},"UserRoleAssignmentReadWithDetails":{"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"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"},"role_id":{"type":"string","format":"uuid","title":"Role Id"},"assigned_at":{"type":"string","format":"date-time","title":"Assigned At"},"assigned_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Assigned By"},"user_email":{"type":"string","title":"User Email"},"role_name":{"type":"string","title":"Role Name"},"workspace_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Name"}},"type":"object","required":["id","organization_id","user_id","role_id","assigned_at","user_email","role_name"],"title":"UserRoleAssignmentReadWithDetails","description":"Read schema for a user role assignment with user and role details."},"UserRoleAssignmentUpdate":{"properties":{"role_id":{"type":"string","format":"uuid","title":"Role Id","description":"New role ID to assign"}},"type":"object","required":["role_id"],"title":"UserRoleAssignmentUpdate","description":"Update schema for a user role assignment (change role only)."},"UserScopesRead":{"properties":{"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes","description":"List of effective scope strings for the user"}},"type":"object","required":["scopes"],"title":"UserScopesRead","description":"Read schema for a user's effective scopes."},"UserSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"User ID"},"email":{"type":"string","title":"Email","description":"User email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name","description":"User first name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name","description":"User last name"}},"type":"object","required":["id","email"],"title":"UserSummary","description":"Summary of a user for inbox item context."},"UserUpdate":{"properties":{"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"is_superuser":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Superuser"},"is_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Verified"},"role":{"anyOf":[{"$ref":"#/components/schemas/UserRole"},{"type":"null"}]},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"}},"type":"object","title":"UserUpdate"},"ValidationDetail":{"properties":{"type":{"type":"string","title":"Type"},"msg":{"type":"string","title":"Msg"},"loc":{"anyOf":[{"items":{"anyOf":[{"type":"integer"},{"type":"string"}]},"type":"array"},{"type":"null"}],"title":"Loc"}},"type":"object","required":["type","msg"],"title":"ValidationDetail"},"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"},"ValidationResult":{"oneOf":[{"$ref":"#/components/schemas/DSLValidationResult"},{"$ref":"#/components/schemas/SecretValidationResult"},{"$ref":"#/components/schemas/ExprValidationResult"},{"$ref":"#/components/schemas/TemplateActionExprValidationResult"},{"$ref":"#/components/schemas/ActionValidationResult"}],"title":"ValidationResult","discriminator":{"propertyName":"type","mapping":{"action":"#/components/schemas/ActionValidationResult","action_template":"#/components/schemas/TemplateActionExprValidationResult","dsl":"#/components/schemas/DSLValidationResult","expression":"#/components/schemas/ExprValidationResult","secret":"#/components/schemas/SecretValidationResult"}}},"VariableCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"pattern":"[a-z0-9_]+","title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":255,"minLength":0},{"type":"null"}],"title":"Description"},"values":{"patternProperties":{"[a-zA-Z0-9_]+":{}},"propertyNames":{"maxLength":255,"minLength":1},"type":"object","maxProperties":1000,"minProperties":1,"title":"Values"},"tags":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Tags"},"environment":{"type":"string","title":"Environment","default":"default"}},"type":"object","required":["name","values"],"title":"VariableCreate"},"VariableRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","pattern":"[a-z0-9_]+","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"values":{"additionalProperties":true,"type":"object","title":"Values"},"environment":{"type":"string","title":"Environment"},"tags":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Tags"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"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","description","values","environment","tags","workspace_id","created_at","updated_at"],"title":"VariableRead"},"VariableReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","pattern":"[a-z0-9_]+","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"values":{"additionalProperties":true,"type":"object","title":"Values"},"environment":{"type":"string","title":"Environment"}},"type":"object","required":["id","name","description","values","environment"],"title":"VariableReadMinimal"},"VariableUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1,"pattern":"[a-z0-9_]+"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":255,"minLength":0},{"type":"null"}],"title":"Description"},"values":{"anyOf":[{"patternProperties":{"[a-zA-Z0-9_]+":{}},"propertyNames":{"maxLength":255,"minLength":1},"type":"object","maxProperties":1000,"minProperties":1},{"type":"null"}],"title":"Values"},"tags":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object","maxProperties":1000,"minProperties":0},{"type":"null"}],"title":"Tags"},"environment":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Environment"}},"type":"object","title":"VariableUpdate"},"VcsProvider":{"type":"string","enum":["github","gitlab","bitbucket"],"title":"VcsProvider","description":"Version control host backing a workspace sync repository."},"VercelChatRequest":{"properties":{"kind":{"type":"string","const":"vercel","title":"Kind","default":"vercel"},"message":{"$ref":"#/components/schemas/UIMessage","description":"User message in Vercel UI format"},"model":{"type":"string","title":"Model","description":"AI model to use","default":"gpt-4o-mini"},"model_provider":{"type":"string","maxLength":50,"minLength":1,"title":"Model Provider","description":"AI model provider","default":"openai"},"base_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Base Url","description":"Optional base URL for the model provider"}},"type":"object","required":["message"],"title":"VercelChatRequest","description":"Vercel AI SDK format request with structured UI messages."},"VersionDiff":{"properties":{"base_version_id":{"type":"string","format":"uuid","title":"Base Version Id"},"base_version":{"type":"string","title":"Base Version"},"compare_version_id":{"type":"string","format":"uuid","title":"Compare Version Id"},"compare_version":{"type":"string","title":"Compare Version"},"actions_added":{"items":{"type":"string"},"type":"array","title":"Actions Added"},"actions_removed":{"items":{"type":"string"},"type":"array","title":"Actions Removed"},"actions_modified":{"items":{"$ref":"#/components/schemas/ActionChange"},"type":"array","title":"Actions Modified"},"total_changes":{"type":"integer","title":"Total Changes","default":0}},"type":"object","required":["base_version_id","base_version","compare_version_id","compare_version"],"title":"VersionDiff","description":"Result of comparing two registry versions."},"VersionedResourceResolutionStrategy":{"type":"string","enum":["pinned","latest"],"title":"VersionedResourceResolutionStrategy"},"VertexAICatalogCreate":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"model_provider":{"type":"string","const":"vertex_ai","title":"Model Provider"},"model_name":{"type":"string","maxLength":500,"minLength":1,"title":"Model Name"},"vertex_model":{"type":"string","minLength":1,"title":"Vertex Model"}},"additionalProperties":false,"type":"object","required":["model_provider","model_name","vertex_model"],"title":"VertexAICatalogCreate","description":"Vertex AI catalog entry."},"VertexAICatalogUpdate":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"model_provider":{"type":"string","const":"vertex_ai","title":"Model Provider"},"vertex_model":{"type":"string","minLength":1,"title":"Vertex Model"}},"additionalProperties":false,"type":"object","required":["model_provider","vertex_model"],"title":"VertexAICatalogUpdate"},"VideoUrl":{"properties":{"url":{"type":"string","title":"Url"},"force_download":{"anyOf":[{"type":"boolean"},{"type":"string","const":"allow-local"}],"title":"Force Download","default":false},"vendor_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Vendor Metadata"},"kind":{"type":"string","const":"video-url","title":"Kind","default":"video-url"},"media_type":{"type":"string","title":"Media Type","description":"Return the media type of the file, based on the URL or the provided `media_type`.","readOnly":true},"identifier":{"type":"string","title":"Identifier","description":"The identifier of the file, such as a unique ID.\n\nThis identifier can be provided to the model in a message to allow it to refer to this file in a tool call argument,\nand the tool can look up the file in question by iterating over the message history and finding the matching `FileUrl`.\n\nThis identifier is only automatically passed to the model when the `FileUrl` is returned by a tool.\nIf you're passing the `FileUrl` as a user message, it's up to you to include a separate text part with the identifier,\ne.g. \"This is file <identifier>:\" preceding the `FileUrl`.\n\nIt's also included in inline-text delimiters for providers that require inlining text documents, so the model can\ndistinguish multiple files.","readOnly":true}},"type":"object","required":["url","media_type","identifier"],"title":"VideoUrl","description":"A URL to a video."},"WaitResultOutput":{"anyOf":[{"$ref":"#/components/schemas/WebhookStoredObjectInlineResponse"},{"$ref":"#/components/schemas/WebhookStoredObjectDownloadResponse"}]},"WaitResultUnwrapOverflowResponse":{"properties":{"detail":{"$ref":"#/components/schemas/WebhookStoredObjectDownloadResponse"}},"type":"object","required":["detail"],"title":"WaitResultUnwrapOverflowResponse"},"WaitStrategy":{"type":"string","enum":["wait","detach"],"title":"WaitStrategy"},"WatchtowerAgentListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WatchtowerAgentRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"has_more":{"type":"boolean","title":"Has More","default":false}},"type":"object","required":["items"],"title":"WatchtowerAgentListResponse","description":"Paginated response for Watchtower agents."},"WatchtowerAgentRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"fingerprint_hash":{"type":"string","title":"Fingerprint Hash"},"agent_type":{"$ref":"#/components/schemas/WatchtowerAgentType"},"agent_source":{"type":"string","title":"Agent Source"},"agent_icon_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Icon Key"},"raw_user_agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Raw User Agent"},"raw_client_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Raw Client Info"},"auth_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Client Id"},"last_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Last User Id"},"last_user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last User Email"},"last_user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last User Name"},"first_seen_at":{"type":"string","format":"date-time","title":"First Seen At"},"last_seen_at":{"type":"string","format":"date-time","title":"Last Seen At"},"blocked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Blocked At"},"blocked_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Blocked Reason"},"status":{"$ref":"#/components/schemas/WatchtowerAgentStatus"},"active_session_count":{"type":"integer","title":"Active Session Count","default":0},"inactive_session_count":{"type":"integer","title":"Inactive Session Count","default":0}},"type":"object","required":["id","organization_id","fingerprint_hash","agent_type","agent_source","agent_icon_key","raw_user_agent","raw_client_info","auth_client_id","last_user_id","last_user_email","last_user_name","first_seen_at","last_seen_at","blocked_at","blocked_reason","status"],"title":"WatchtowerAgentRead","description":"Watchtower agent row for monitor list views."},"WatchtowerAgentSessionListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WatchtowerAgentSessionRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"has_more":{"type":"boolean","title":"Has More","default":false}},"type":"object","required":["items"],"title":"WatchtowerAgentSessionListResponse","description":"Paginated response for Watchtower sessions."},"WatchtowerAgentSessionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"agent_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Agent Id"},"session_state":{"type":"string","title":"Session State"},"auth_transaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Transaction Id"},"auth_client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Client Id"},"oauth_callback_seen_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Oauth Callback Seen At"},"agent_session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Session Id"},"initialize_seen_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Initialize Seen At"},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"user_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Email"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"},"first_seen_at":{"type":"string","format":"date-time","title":"First Seen At"},"last_seen_at":{"type":"string","format":"date-time","title":"Last Seen At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"revoked_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revoked Reason"},"status":{"$ref":"#/components/schemas/WatchtowerAgentSessionStatus"}},"type":"object","required":["id","organization_id","agent_id","session_state","auth_transaction_id","auth_client_id","oauth_callback_seen_at","agent_session_id","initialize_seen_at","user_id","user_email","user_name","workspace_id","first_seen_at","last_seen_at","revoked_at","revoked_reason","status"],"title":"WatchtowerAgentSessionRead","description":"Watchtower agent session row for monitor list views."},"WatchtowerAgentSessionStatus":{"type":"string","enum":["active","idle","revoked"],"title":"WatchtowerAgentSessionStatus","description":"Derived status for Watchtower agent sessions in monitor APIs."},"WatchtowerAgentStatus":{"type":"string","enum":["active","idle","blocked"],"title":"WatchtowerAgentStatus","description":"Derived status for Watchtower agents in monitor APIs."},"WatchtowerAgentToolCallListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WatchtowerAgentToolCallRead"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"has_more":{"type":"boolean","title":"Has More","default":false}},"type":"object","required":["items"],"title":"WatchtowerAgentToolCallListResponse","description":"Paginated response for Watchtower tool calls."},"WatchtowerAgentToolCallRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"agent_id":{"type":"string","format":"uuid","title":"Agent Id"},"agent_session_id":{"type":"string","format":"uuid","title":"Agent Session Id"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"},"tool_name":{"type":"string","title":"Tool Name"},"call_status":{"$ref":"#/components/schemas/WatchtowerToolCallStatus"},"latency_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latency Ms"},"args_redacted":{"additionalProperties":true,"type":"object","title":"Args Redacted"},"error_redacted":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Redacted"},"called_at":{"type":"string","format":"date-time","title":"Called At"}},"type":"object","required":["id","organization_id","agent_id","agent_session_id","workspace_id","tool_name","call_status","latency_ms","args_redacted","error_redacted","called_at"],"title":"WatchtowerAgentToolCallRead","description":"Watchtower tool-call event row."},"WatchtowerAgentType":{"type":"string","enum":["claude_code","codex","cursor","windsurf","opencode","openclaw","unknown"],"title":"WatchtowerAgentType","description":"Normalized local-agent classifications stored by Watchtower."},"WatchtowerDisableAgentRequest":{"properties":{"reason":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Reason"}},"type":"object","title":"WatchtowerDisableAgentRequest","description":"Request payload for disabling an agent."},"WatchtowerRevokeAgentSessionRequest":{"properties":{"reason":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Reason"}},"type":"object","title":"WatchtowerRevokeAgentSessionRequest","description":"Request payload for session revocation."},"WatchtowerToolCallStatus":{"type":"string","enum":["success","error","timeout","rejected","blocked"],"title":"WatchtowerToolCallStatus","description":"Tool call result status for Watchtower monitor APIs."},"WebhookApiKeyGenerateResponse":{"properties":{"api_key":{"type":"string","title":"Api Key"},"preview":{"type":"string","title":"Preview"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["api_key","preview","created_at"],"title":"WebhookApiKeyGenerateResponse"},"WebhookApiKeyRead":{"properties":{"preview":{"type":"string","title":"Preview"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"is_active":{"type":"boolean","title":"Is Active","default":false}},"type":"object","required":["preview","created_at"],"title":"WebhookApiKeyRead"},"WebhookCreate":{"properties":{"status":{"$ref":"#/components/schemas/WebhookStatus","default":"offline"},"methods":{"items":{"$ref":"#/components/schemas/WebhookMethod"},"type":"array","title":"Methods","description":"Methods to allow"},"entrypoint_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrypoint Ref"},"allowlisted_cidrs":{"items":{"type":"string"},"type":"array","title":"Allowlisted Cidrs"},"include_headers":{"type":"boolean","title":"Include Headers","default":false}},"type":"object","title":"WebhookCreate"},"WebhookMethod":{"type":"string","enum":["GET","POST"]},"WebhookRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"secret":{"type":"string","title":"Secret"},"status":{"$ref":"#/components/schemas/WebhookStatus"},"entrypoint_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrypoint Ref"},"allowlisted_cidrs":{"items":{"type":"string"},"type":"array","title":"Allowlisted Cidrs"},"filters":{"additionalProperties":true,"type":"object","title":"Filters"},"methods":{"items":{"$ref":"#/components/schemas/WebhookMethod"},"type":"array","title":"Methods","description":"Methods to allow"},"include_headers":{"type":"boolean","title":"Include Headers","default":false},"workflow_id":{"type":"string","title":"Workflow Id"},"url":{"type":"string","title":"Url"},"api_key":{"anyOf":[{"$ref":"#/components/schemas/WebhookApiKeyRead"},{"type":"null"}]}},"type":"object","required":["id","secret","status","workflow_id","url"],"title":"WebhookRead"},"WebhookStatus":{"type":"string","enum":["online","offline"]},"WebhookStoredObjectDownloadResponse":{"properties":{"kind":{"type":"string","enum":["download_file","download_export"],"title":"Kind"},"download_url":{"type":"string","title":"Download Url"},"expires_in_seconds":{"type":"integer","title":"Expires In Seconds"},"content_type":{"type":"string","title":"Content Type"},"size_bytes":{"type":"integer","title":"Size Bytes"}},"type":"object","required":["kind","download_url","expires_in_seconds","content_type","size_bytes"],"title":"WebhookStoredObjectDownloadResponse"},"WebhookStoredObjectInlineResponse":{"properties":{"kind":{"type":"string","const":"value","title":"Kind"},"value":{"title":"Value"}},"type":"object","required":["kind","value"],"title":"WebhookStoredObjectInlineResponse"},"WebhookUpdate":{"properties":{"status":{"anyOf":[{"$ref":"#/components/schemas/WebhookStatus"},{"type":"null"}]},"methods":{"anyOf":[{"items":{"$ref":"#/components/schemas/WebhookMethod"},"type":"array"},{"type":"null"}],"title":"Methods"},"entrypoint_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrypoint Ref"},"allowlisted_cidrs":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowlisted Cidrs"},"include_headers":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Headers"}},"type":"object","title":"WebhookUpdate"},"WorkflowAlias":{"properties":{"component_id":{"type":"string","const":"workflow-alias","title":"Component Id","default":"workflow-alias"}},"type":"object","title":"WorkflowAlias"},"WorkflowArtifact":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"scope":{"anyOf":[{"$ref":"#/components/schemas/ArtifactScope"},{"type":"null"}]},"type":{"type":"string","const":"workflow","title":"Type","default":"workflow"},"color":{"type":"string","title":"Color"},"isPublished":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ispublished"}},"additionalProperties":false,"type":"object","required":["id","title","color"],"title":"WorkflowArtifact","description":"Workflow artifact shown in artifact-capable chat surfaces."},"WorkflowCommitResponse":{"properties":{"workflow_id":{"type":"string","pattern":"wf_[0-9a-zA-Z]+","title":"Workflow Id"},"status":{"type":"string","enum":["success","failure"],"title":"Status"},"message":{"type":"string","title":"Message"},"errors":{"anyOf":[{"items":{"$ref":"#/components/schemas/ValidationResult"},"type":"array"},{"type":"null"}],"title":"Errors"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["workflow_id","status","message"],"title":"WorkflowCommitResponse"},"WorkflowDefinitionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workflow_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workflow Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"version":{"type":"integer","title":"Version"},"content":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Content"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"registry_lock_entries":{"items":{"$ref":"#/components/schemas/RegistryLockEntryRead"},"type":"array","title":"Registry Lock Entries","description":"Registry lock origins with server-normalized display labels.","readOnly":true}},"type":"object","required":["id","workflow_id","workspace_id","version","created_at","updated_at","registry_lock_entries"],"title":"WorkflowDefinitionRead","description":"API response model for persisted workflow definitions."},"WorkflowDefinitionReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"version":{"type":"integer","title":"Version"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","version","created_at"],"title":"WorkflowDefinitionReadMinimal"},"WorkflowDirectoryItem":{"properties":{"id":{"type":"string","pattern":"wf_[0-9a-zA-Z]+","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"status":{"type":"string","title":"Status"},"icon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Version"},"tags":{"anyOf":[{"items":{"$ref":"#/components/schemas/TagRead"},"type":"array"},{"type":"null"}],"title":"Tags"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"error_handler":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Handler"},"latest_definition":{"anyOf":[{"$ref":"#/components/schemas/WorkflowDefinitionReadMinimal"},{"type":"null"}]},"folder_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Folder Id"},"trigger_summary":{"anyOf":[{"$ref":"#/components/schemas/WorkflowTriggerSummary"},{"type":"null"}]},"type":{"type":"string","const":"workflow","title":"Type"}},"type":"object","required":["id","title","description","status","icon_url","created_at","updated_at","version","type"],"title":"WorkflowDirectoryItem"},"WorkflowDslPublish":{"properties":{"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"branch":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Branch"},"create_pr":{"type":"boolean","title":"Create Pr","default":false},"pr_base_branch":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pr Base Branch"}},"type":"object","title":"WorkflowDslPublish"},"WorkflowDslPublishResult":{"properties":{"status":{"type":"string","enum":["committed","no_op"],"title":"Status"},"commit_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commit Sha"},"branch":{"type":"string","title":"Branch"},"base_branch":{"type":"string","title":"Base Branch"},"pr_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pr Url"},"pr_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pr Number"},"pr_reused":{"type":"boolean","title":"Pr Reused","default":false},"message":{"type":"string","title":"Message"}},"type":"object","required":["status","branch","base_branch","message"],"title":"WorkflowDslPublishResult"},"WorkflowEntrypointValidationRequest":{"properties":{"expects":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/ExpectedField-Input"},"type":"object"},{"type":"null"}],"title":"Expects"}},"type":"object","title":"WorkflowEntrypointValidationRequest"},"WorkflowEntrypointValidationResponse":{"properties":{"valid":{"type":"boolean","title":"Valid"},"errors":{"items":{"$ref":"#/components/schemas/ValidationResult"},"type":"array","title":"Errors"}},"type":"object","required":["valid"],"title":"WorkflowEntrypointValidationResponse"},"WorkflowEventType":{"type":"string","enum":["WORKFLOW_EXECUTION_STARTED","WORKFLOW_EXECUTION_COMPLETED","WORKFLOW_EXECUTION_FAILED","WORKFLOW_EXECUTION_TERMINATED","WORKFLOW_EXECUTION_CANCELED","WORKFLOW_EXECUTION_CONTINUED_AS_NEW","WORKFLOW_EXECUTION_TIMED_OUT","ACTIVITY_TASK_SCHEDULED","ACTIVITY_TASK_STARTED","ACTIVITY_TASK_COMPLETED","ACTIVITY_TASK_FAILED","ACTIVITY_TASK_TIMED_OUT","ACTIVITY_TASK_CANCELED","CHILD_WORKFLOW_EXECUTION_STARTED","CHILD_WORKFLOW_EXECUTION_COMPLETED","CHILD_WORKFLOW_EXECUTION_FAILED","CHILD_WORKFLOW_EXECUTION_CANCELED","CHILD_WORKFLOW_EXECUTION_TERMINATED","START_CHILD_WORKFLOW_EXECUTION_INITIATED","CHILD_WORKFLOW_EXECUTION_TIMED_OUT","WORKFLOW_EXECUTION_SIGNALED","WORKFLOW_EXECUTION_UPDATE_ACCEPTED","WORKFLOW_EXECUTION_UPDATE_REJECTED","WORKFLOW_EXECUTION_UPDATE_COMPLETED"],"title":"WorkflowEventType","description":"The event types we care about."},"WorkflowExecutionBulkResetItemResult":{"properties":{"execution_id":{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))","title":"Execution Id"},"ok":{"type":"boolean","title":"Ok","default":false},"new_run_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Run Id"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["execution_id"],"title":"WorkflowExecutionBulkResetItemResult"},"WorkflowExecutionBulkResetRequest":{"properties":{"execution_ids":{"items":{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))"},"type":"array","maxItems":100,"minItems":1,"title":"Execution Ids"},"event_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Event Id","description":"Temporal history event id to reset from. If omitted, reset uses start."},"reason":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Reason"},"reapply_type":{"$ref":"#/components/schemas/WorkflowExecutionResetReapplyType","default":"all_eligible"}},"type":"object","title":"WorkflowExecutionBulkResetRequest"},"WorkflowExecutionBulkResetResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/WorkflowExecutionBulkResetItemResult"},"type":"array","title":"Results"}},"type":"object","title":"WorkflowExecutionBulkResetResponse"},"WorkflowExecutionCollectionPageItem":{"properties":{"index":{"type":"integer","minimum":0.0,"title":"Index","description":"Collection index for this item"},"kind":{"$ref":"#/components/schemas/WorkflowExecutionCollectionPageItemKind","description":"Descriptor type for this collection page item"},"stored":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/InlineObject"},{"$ref":"#/components/schemas/ExternalObject"},{"$ref":"#/components/schemas/CollectionObject"}],"discriminator":{"propertyName":"type","mapping":{"collection":"#/components/schemas/CollectionObject","external":"#/components/schemas/ExternalObject","inline":"#/components/schemas/InlineObject"}}},{"type":"null"}],"title":"Stored","description":"StoredObject descriptor when kind is stored_object_ref"},"value_preview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Preview","description":"UTF-8 preview of serialized inline value when kind is inline_value"},"value_size_bytes":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Value Size Bytes","description":"Serialized inline value size in bytes when kind is inline_value"},"truncated":{"type":"boolean","title":"Truncated","description":"Whether value_preview was truncated","default":false}},"type":"object","required":["index","kind"],"title":"WorkflowExecutionCollectionPageItem"},"WorkflowExecutionCollectionPageItemKind":{"type":"string","enum":["stored_object_ref","inline_value"],"title":"WorkflowExecutionCollectionPageItemKind"},"WorkflowExecutionCollectionPageRequest":{"properties":{"event_id":{"type":"integer","minimum":1.0,"title":"Event Id","description":"Temporal history event ID"},"field":{"$ref":"#/components/schemas/WorkflowExecutionObjectField","default":"action_result"},"offset":{"type":"integer","minimum":0.0,"title":"Offset","description":"Page start index (0-indexed)","default":0},"limit":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Limit","description":"Maximum number of items to return","default":25}},"type":"object","required":["event_id"],"title":"WorkflowExecutionCollectionPageRequest"},"WorkflowExecutionCollectionPageResponse":{"properties":{"collection":{"$ref":"#/components/schemas/CollectionObject","description":"Collection metadata for the requested result"},"offset":{"type":"integer","minimum":0.0,"title":"Offset","description":"Requested page offset"},"limit":{"type":"integer","minimum":1.0,"title":"Limit","description":"Requested page size"},"next_offset":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Next Offset","description":"Offset to use for next page, or null if no more items"},"items":{"items":{"$ref":"#/components/schemas/WorkflowExecutionCollectionPageItem"},"type":"array","title":"Items","description":"Collection page descriptors"}},"type":"object","required":["collection","offset","limit"],"title":"WorkflowExecutionCollectionPageResponse"},"WorkflowExecutionCreate":{"properties":{"workflow_id":{"anyOf":[{"type":"string","pattern":"wf_[0-9a-zA-Z]+"},{"type":"string","pattern":"wf-[0-9a-f]{32}"}],"title":"Workflow Id"},"inputs":{"anyOf":[{},{"type":"null"}],"title":"Inputs"},"time_anchor":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time Anchor","description":"Override the workflow's time anchor for FN.now() and related functions. If not provided, computed from TemporalScheduledStartTime (for schedules) or workflow start_time (for other triggers)."}},"type":"object","required":["workflow_id"],"title":"WorkflowExecutionCreate"},"WorkflowExecutionCreateResponse":{"properties":{"message":{"type":"string","title":"Message"},"wf_id":{"type":"string","title":"Wf Id"},"wf_exec_id":{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))","title":"Wf Exec Id"},"payload":{"title":"Payload"}},"type":"object","required":["message","wf_id","wf_exec_id"],"title":"WorkflowExecutionCreateResponse"},"WorkflowExecutionEvent":{"properties":{"event_id":{"type":"integer","title":"Event Id"},"event_time":{"type":"string","format":"date-time","title":"Event Time"},"event_type":{"$ref":"#/components/schemas/WorkflowEventType"},"task_id":{"type":"integer","title":"Task Id"},"event_group":{"anyOf":[{"$ref":"#/components/schemas/EventGroup_TypeVar_"},{"type":"null"}],"description":"The action group of the event. We use this to keep track of what events are related to each other."},"failure":{"anyOf":[{"$ref":"#/components/schemas/EventFailure"},{"type":"null"}]},"result":{"anyOf":[{},{"type":"null"}],"title":"Result"},"role":{"anyOf":[{"$ref":"#/components/schemas/Role"},{"type":"null"}]},"parent_wf_exec_id":{"anyOf":[{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))"},{"type":"null"}],"title":"Parent Wf Exec Id"},"workflow_timeout":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Workflow Timeout"}},"type":"object","required":["event_id","event_time","event_type","task_id"],"title":"WorkflowExecutionEvent"},"WorkflowExecutionEventCompact_Any_Union_AgentOutput__Any__Any_":{"properties":{"source_event_id":{"type":"integer","title":"Source Event Id"},"schedule_time":{"type":"string","format":"date-time","title":"Schedule Time"},"start_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Time"},"close_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Close Time"},"curr_event_type":{"$ref":"#/components/schemas/WorkflowEventType"},"status":{"$ref":"#/components/schemas/WorkflowExecutionEventStatus"},"action_name":{"type":"string","title":"Action Name"},"action_ref":{"type":"string","title":"Action Ref"},"action_input":{"title":"Action Input"},"action_result":{"anyOf":[{"$ref":"#/components/schemas/AgentOutput"},{},{"type":"null"}],"title":"Action Result"},"action_error":{"anyOf":[{"$ref":"#/components/schemas/EventFailure"},{"type":"null"}]},"stream_id":{"type":"string","title":"Stream Id","default":"<root>:0"},"child_wf_exec_id":{"anyOf":[{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))"},{"type":"null"}],"title":"Child Wf Exec Id"},"child_wf_count":{"type":"integer","title":"Child Wf Count","default":0},"loop_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Loop Index"},"while_iteration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"While Iteration"},"while_continue":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"While Continue"},"child_wf_wait_strategy":{"anyOf":[{"$ref":"#/components/schemas/WaitStrategy"},{"type":"null"}]},"session":{"anyOf":[{"$ref":"#/components/schemas/Session_Any_"},{"type":"null"}]}},"type":"object","required":["source_event_id","schedule_time","curr_event_type","status","action_name","action_ref"],"title":"WorkflowExecutionEventCompact[Any, Union[AgentOutput, Any], Any]"},"WorkflowExecutionEventStatus":{"type":"string","enum":["SCHEDULED","STARTED","COMPLETED","FAILED","CANCELED","TERMINATED","TIMED_OUT","UNKNOWN","DETACHED"],"title":"WorkflowExecutionEventStatus"},"WorkflowExecutionObjectDownloadResponse":{"properties":{"download_url":{"type":"string","title":"Download Url","description":"Pre-signed download URL"},"file_name":{"type":"string","title":"File Name","description":"Suggested file name"},"content_type":{"type":"string","title":"Content Type","description":"MIME type of the object"},"size_bytes":{"type":"integer","minimum":0.0,"title":"Size Bytes","description":"Object size in bytes"},"expires_in_seconds":{"type":"integer","minimum":1.0,"title":"Expires In Seconds","description":"Presigned URL expiry in seconds"}},"type":"object","required":["download_url","file_name","content_type","size_bytes","expires_in_seconds"],"title":"WorkflowExecutionObjectDownloadResponse"},"WorkflowExecutionObjectField":{"type":"string","enum":["action_result"],"title":"WorkflowExecutionObjectField"},"WorkflowExecutionObjectPreviewResponse":{"properties":{"content":{"type":"string","title":"Content","description":"Preview text content"},"content_type":{"type":"string","title":"Content Type","description":"MIME type of the object"},"size_bytes":{"type":"integer","minimum":0.0,"title":"Size Bytes","description":"Total object size in bytes"},"preview_bytes":{"type":"integer","minimum":0.0,"title":"Preview Bytes","description":"Number of bytes used for preview"},"truncated":{"type":"boolean","title":"Truncated","description":"Whether preview is truncated due to size limits"},"encoding":{"type":"string","enum":["utf-8","unknown"],"title":"Encoding","description":"Encoding used to decode preview text"}},"type":"object","required":["content","content_type","size_bytes","preview_bytes","truncated","encoding"],"title":"WorkflowExecutionObjectPreviewResponse"},"WorkflowExecutionObjectRequest":{"properties":{"event_id":{"type":"integer","minimum":1.0,"title":"Event Id","description":"Temporal history event ID"},"field":{"$ref":"#/components/schemas/WorkflowExecutionObjectField","default":"action_result"},"collection_index":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Collection Index","description":"Optional index into a CollectionObject result. When omitted, operates on the top-level object result."}},"type":"object","required":["event_id"],"title":"WorkflowExecutionObjectRequest"},"WorkflowExecutionRead":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the workflow execution"},"run_id":{"type":"string","title":"Run Id","description":"The run ID of the workflow execution"},"start_time":{"type":"string","format":"date-time","title":"Start Time","description":"The start time of the workflow execution"},"execution_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Execution Time","description":"When this workflow run started or should start."},"close_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Close Time","description":"When the workflow was closed if closed."},"status":{"type":"string","enum":["RUNNING","COMPLETED","FAILED","CANCELED","TERMINATED","CONTINUED_AS_NEW","TIMED_OUT"]},"workflow_type":{"type":"string","title":"Workflow Type"},"task_queue":{"type":"string","title":"Task Queue"},"history_length":{"type":"integer","title":"History Length","description":"Number of events in the history"},"parent_wf_exec_id":{"anyOf":[{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))"},{"type":"null"}],"title":"Parent Wf Exec Id"},"trigger_type":{"$ref":"#/components/schemas/TriggerType"},"execution_type":{"$ref":"#/components/schemas/ExecutionType","description":"Execution type (draft or published). Draft uses the draft workflow graph.","default":"published"},"events":{"items":{"$ref":"#/components/schemas/WorkflowExecutionEvent"},"type":"array","title":"Events","description":"The events in the workflow execution"},"interactions":{"items":{"$ref":"#/components/schemas/InteractionRead"},"type":"array","title":"Interactions","description":"The interactions in the workflow execution"}},"type":"object","required":["id","run_id","start_time","status","workflow_type","task_queue","history_length","trigger_type","events"],"title":"WorkflowExecutionRead"},"WorkflowExecutionReadCompact_Any_Union_AgentOutput__Any__Any_":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the workflow execution"},"run_id":{"type":"string","title":"Run Id","description":"The run ID of the workflow execution"},"start_time":{"type":"string","format":"date-time","title":"Start Time","description":"The start time of the workflow execution"},"execution_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Execution Time","description":"When this workflow run started or should start."},"close_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Close Time","description":"When the workflow was closed if closed."},"status":{"type":"string","enum":["RUNNING","COMPLETED","FAILED","CANCELED","TERMINATED","CONTINUED_AS_NEW","TIMED_OUT"]},"workflow_type":{"type":"string","title":"Workflow Type"},"task_queue":{"type":"string","title":"Task Queue"},"history_length":{"type":"integer","title":"History Length","description":"Number of events in the history"},"parent_wf_exec_id":{"anyOf":[{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))"},{"type":"null"}],"title":"Parent Wf Exec Id"},"trigger_type":{"$ref":"#/components/schemas/TriggerType"},"execution_type":{"$ref":"#/components/schemas/ExecutionType","description":"Execution type (draft or published). Draft uses the draft workflow graph.","default":"published"},"events":{"items":{"$ref":"#/components/schemas/WorkflowExecutionEventCompact_Any_Union_AgentOutput__Any__Any_"},"type":"array","title":"Events","description":"Compact events in the workflow execution"},"interactions":{"items":{"$ref":"#/components/schemas/InteractionRead"},"type":"array","title":"Interactions","description":"The interactions in the workflow execution"}},"type":"object","required":["id","run_id","start_time","status","workflow_type","task_queue","history_length","trigger_type","events"],"title":"WorkflowExecutionReadCompact[Any, Union[AgentOutput, Any], Any]"},"WorkflowExecutionReadMinimal":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the workflow execution"},"run_id":{"type":"string","title":"Run Id","description":"The run ID of the workflow execution"},"start_time":{"type":"string","format":"date-time","title":"Start Time","description":"The start time of the workflow execution"},"execution_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Execution Time","description":"When this workflow run started or should start."},"close_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Close Time","description":"When the workflow was closed if closed."},"status":{"type":"string","enum":["RUNNING","COMPLETED","FAILED","CANCELED","TERMINATED","CONTINUED_AS_NEW","TIMED_OUT"]},"workflow_type":{"type":"string","title":"Workflow Type"},"task_queue":{"type":"string","title":"Task Queue"},"history_length":{"type":"integer","title":"History Length","description":"Number of events in the history"},"parent_wf_exec_id":{"anyOf":[{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))"},{"type":"null"}],"title":"Parent Wf Exec Id"},"trigger_type":{"$ref":"#/components/schemas/TriggerType"},"execution_type":{"$ref":"#/components/schemas/ExecutionType","description":"Execution type (draft or published). Draft uses the draft workflow graph.","default":"published"}},"type":"object","required":["id","run_id","start_time","status","workflow_type","task_queue","history_length","trigger_type"],"title":"WorkflowExecutionReadMinimal"},"WorkflowExecutionRelationFilter":{"type":"string","enum":["all","root","child"],"title":"WorkflowExecutionRelationFilter"},"WorkflowExecutionResetPointRead":{"properties":{"event_id":{"type":"integer","minimum":1.0,"title":"Event Id"},"event_time":{"type":"string","format":"date-time","title":"Event Time"},"event_type":{"type":"string","title":"Event Type"},"label":{"type":"string","title":"Label"},"is_start":{"type":"boolean","title":"Is Start","description":"True when this point maps to the earliest resettable point.","default":false},"is_resettable":{"type":"boolean","title":"Is Resettable","description":"Whether the event can be used directly as a reset target.","default":false}},"type":"object","required":["event_id","event_time","event_type","label"],"title":"WorkflowExecutionResetPointRead"},"WorkflowExecutionResetReapplyType":{"type":"string","enum":["all_eligible","signal_only","none"],"title":"WorkflowExecutionResetReapplyType"},"WorkflowExecutionResetRequest":{"properties":{"event_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Event Id","description":"Temporal history event id to reset from. If omitted, reset uses start."},"reason":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Reason"},"reapply_type":{"$ref":"#/components/schemas/WorkflowExecutionResetReapplyType","default":"all_eligible"}},"type":"object","title":"WorkflowExecutionResetRequest"},"WorkflowExecutionResetResponse":{"properties":{"execution_id":{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))","title":"Execution Id"},"new_run_id":{"type":"string","title":"New Run Id"}},"type":"object","required":["execution_id","new_run_id"],"title":"WorkflowExecutionResetResponse"},"WorkflowExecutionStatus":{"type":"integer","enum":[1,2,3,4,5,6,7],"title":"WorkflowExecutionStatus","description":"Status of a workflow execution.\n\nSee :py:class:`temporalio.api.enums.v1.WorkflowExecutionStatus`."},"WorkflowExecutionStatusFilterMode":{"type":"string","enum":["include","exclude"],"title":"WorkflowExecutionStatusFilterMode"},"WorkflowExecutionTerminate":{"properties":{"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","title":"WorkflowExecutionTerminate"},"WorkflowFolderCreate":{"properties":{"name":{"type":"string","title":"Name"},"parent_path":{"type":"string","title":"Parent Path","default":"/"}},"type":"object","required":["name"],"title":"WorkflowFolderCreate"},"WorkflowFolderDelete":{"properties":{"recursive":{"type":"boolean","title":"Recursive","default":false}},"type":"object","title":"WorkflowFolderDelete"},"WorkflowFolderMove":{"properties":{"new_parent_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Parent Path"}},"type":"object","title":"WorkflowFolderMove"},"WorkflowFolderRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"path":{"type":"string","title":"Path"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"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","path","workspace_id","created_at","updated_at"],"title":"WorkflowFolderRead"},"WorkflowFolderUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","title":"WorkflowFolderUpdate"},"WorkflowMoveToFolder":{"properties":{"folder_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder Path"}},"type":"object","title":"WorkflowMoveToFolder"},"WorkflowRead":{"properties":{"id":{"type":"string","pattern":"wf_[0-9a-zA-Z]+","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"status":{"type":"string","title":"Status"},"actions":{"additionalProperties":{"$ref":"#/components/schemas/ActionRead"},"type":"object","title":"Actions"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Version"},"webhook":{"$ref":"#/components/schemas/WebhookRead"},"schedules":{"items":{"$ref":"#/components/schemas/ScheduleRead"},"type":"array","title":"Schedules"},"entrypoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrypoint"},"expects":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/ExpectedField-Output"},"type":"object"},{"type":"null"}],"title":"Expects"},"expects_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Expects Schema"},"returns":{"title":"Returns"},"config":{"anyOf":[{"$ref":"#/components/schemas/DSLConfig-Output"},{"type":"null"}]},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"git_sync_branch":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Git Sync Branch"},"error_handler":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Handler"},"folder_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Folder Id"},"trigger_position_x":{"type":"number","title":"Trigger Position X","default":0.0},"trigger_position_y":{"type":"number","title":"Trigger Position Y","default":0.0},"graph_version":{"type":"integer","title":"Graph Version","default":1}},"type":"object","required":["id","title","description","status","actions","workspace_id","webhook","schedules","entrypoint","returns","config"],"title":"WorkflowRead"},"WorkflowReadMinimal":{"properties":{"id":{"type":"string","pattern":"wf_[0-9a-zA-Z]+","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"status":{"type":"string","title":"Status"},"icon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Version"},"tags":{"anyOf":[{"items":{"$ref":"#/components/schemas/TagRead"},"type":"array"},{"type":"null"}],"title":"Tags"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"error_handler":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Handler"},"latest_definition":{"anyOf":[{"$ref":"#/components/schemas/WorkflowDefinitionReadMinimal"},{"type":"null"}]},"folder_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Folder Id"},"trigger_summary":{"anyOf":[{"$ref":"#/components/schemas/WorkflowTriggerSummary"},{"type":"null"}]}},"type":"object","required":["id","title","description","status","icon_url","created_at","updated_at","version"],"title":"WorkflowReadMinimal","description":"Minimal version of WorkflowRead model for list endpoints."},"WorkflowRunReadMinimal":{"properties":{"id":{"type":"string","title":"Id","description":"The ID of the workflow execution"},"run_id":{"type":"string","title":"Run Id","description":"The run ID of the workflow execution"},"start_time":{"type":"string","format":"date-time","title":"Start Time","description":"The start time of the workflow execution"},"execution_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Execution Time","description":"When this workflow run started or should start."},"close_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Close Time","description":"When the workflow was closed if closed."},"status":{"type":"string","enum":["RUNNING","COMPLETED","FAILED","CANCELED","TERMINATED","CONTINUED_AS_NEW","TIMED_OUT"]},"workflow_type":{"type":"string","title":"Workflow Type"},"task_queue":{"type":"string","title":"Task Queue"},"history_length":{"type":"integer","title":"History Length","description":"Number of events in the history"},"parent_wf_exec_id":{"anyOf":[{"type":"string","pattern":"(wf-[0-9a-f]{32}|wf_[0-9a-zA-Z]+)[:/]((exec_[0-9a-zA-Z]+|exec-[\\w-]+|(?:sch-[0-9a-f]{32}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})-.*))"},{"type":"null"}],"title":"Parent Wf Exec Id"},"trigger_type":{"$ref":"#/components/schemas/TriggerType"},"execution_type":{"$ref":"#/components/schemas/ExecutionType","description":"Execution type (draft or published). Draft uses the draft workflow graph.","default":"published"},"workflow_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workflow Id","description":"Short workflow ID parsed from workflow execution ID."},"workflow_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workflow Title","description":"Workflow title from workspace metadata when available."},"workflow_alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workflow Alias","description":"Workflow alias from workspace metadata or execution search attributes."}},"type":"object","required":["id","run_id","start_time","status","workflow_type","task_queue","history_length","trigger_type"],"title":"WorkflowRunReadMinimal"},"WorkflowSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Workflow ID"},"title":{"type":"string","title":"Title","description":"Workflow title"},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias","description":"Workflow alias"}},"type":"object","required":["id","title"],"title":"WorkflowSummary","description":"Summary of a workflow for inbox item context."},"WorkflowSyncPullRequest":{"properties":{"commit_sha":{"type":"string","maxLength":64,"minLength":40,"title":"Commit Sha","description":"Specific commit SHA to pull from"},"dry_run":{"type":"boolean","title":"Dry Run","description":"Validate only, don't perform actual import","default":false},"sync_schedules":{"type":"boolean","title":"Sync Schedules","description":"Apply schedule definitions from Git. Defaults off to preserve destination schedules.","default":false},"catalog_mappings":{"items":{"$ref":"#/components/schemas/CatalogMappingSelection"},"type":"array","title":"Catalog Mappings","description":"Explicit source-to-target model choices from the pull preview."},"mcp_integration_mappings":{"items":{"$ref":"#/components/schemas/McpIntegrationMappingSelection"},"type":"array","title":"Mcp Integration Mappings","description":"Explicit source-to-target MCP integration choices from the pull preview."}},"type":"object","required":["commit_sha"],"title":"WorkflowSyncPullRequest","description":"Request model for pulling workflows from a Git repository."},"WorkflowTagCreate":{"properties":{"tag_id":{"type":"string","format":"uuid","title":"Tag Id"}},"type":"object","required":["tag_id"],"title":"WorkflowTagCreate"},"WorkflowTriggerSummary":{"properties":{"schedule_count_online":{"type":"integer","title":"Schedule Count Online","default":0},"schedule_cron":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule Cron"},"schedule_natural":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule Natural"},"webhook_active":{"type":"boolean","title":"Webhook Active","default":false},"case_trigger_events":{"items":{"$ref":"#/components/schemas/CaseEventType"},"type":"array","title":"Case Trigger Events"}},"type":"object","title":"WorkflowTriggerSummary"},"WorkflowUpdate":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":100,"minLength":3},{"type":"null"}],"title":"Title","description":"Workflow title, between 3 and 100 characters"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description","description":"Optional workflow description, up to 1000 characters"},"status":{"anyOf":[{"type":"string","enum":["online","offline"]},{"type":"null"}],"title":"Status"},"version":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Version"},"entrypoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrypoint"},"icon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Url"},"expects":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/ExpectedField-Input"},"type":"object"},{"type":"null"}],"title":"Expects"},"returns":{"anyOf":[{},{"type":"null"}],"title":"Returns"},"config":{"anyOf":[{"$ref":"#/components/schemas/DSLConfig-Input"},{"type":"null"}]},"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"error_handler":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Handler"}},"type":"object","title":"WorkflowUpdate"},"WorkspaceCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"settings":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceSettingsUpdate"},{"type":"null"}]},"organization_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organization Id"}},"type":"object","required":["name"],"title":"WorkspaceCreate"},"WorkspaceInvitationCreate":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"role_id":{"type":"string","title":"Role Id"}},"type":"object","required":["email","role_id"],"title":"WorkspaceInvitationCreate","description":"Request schema for creating a workspace invitation."},"WorkspaceInvitationRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"email":{"type":"string","format":"email","title":"Email"},"role_id":{"type":"string","title":"Role Id"},"role_name":{"type":"string","title":"Role Name"},"role_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Slug"},"status":{"$ref":"#/components/schemas/InvitationStatus"},"invited_by":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invited By"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","workspace_id","email","role_id","role_name","status","invited_by","expires_at","accepted_at","created_at"],"title":"WorkspaceInvitationRead","description":"Response schema for a workspace invitation."},"WorkspaceMember":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"email":{"type":"string","format":"email","title":"Email"},"role_name":{"type":"string","title":"Role Name"}},"type":"object","required":["user_id","first_name","last_name","email","role_name"],"title":"WorkspaceMember"},"WorkspaceMembershipCreate":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"}},"type":"object","required":["user_id"],"title":"WorkspaceMembershipCreate"},"WorkspaceMembershipRead":{"properties":{"user_id":{"type":"string","format":"uuid","title":"User Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"}},"type":"object","required":["user_id","workspace_id"],"title":"WorkspaceMembershipRead"},"WorkspaceRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"settings":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceSettingsRead"},{"type":"null"}]},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"}},"type":"object","required":["id","name","organization_id"],"title":"WorkspaceRead"},"WorkspaceReadMinimal":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"WorkspaceReadMinimal"},"WorkspaceSettingsRead":{"properties":{"git_provider":{"anyOf":[{"$ref":"#/components/schemas/VcsProvider"},{"type":"null"}]},"git_repo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Git Repo Url"},"workflow_unlimited_timeout_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Workflow Unlimited Timeout Enabled"},"workflow_default_timeout_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Workflow Default Timeout Seconds"},"allowed_attachment_extensions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Attachment Extensions"},"allowed_attachment_mime_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Attachment Mime Types"},"validate_attachment_magic_number":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Validate Attachment Magic Number"},"effective_allowed_attachment_extensions":{"items":{"type":"string"},"type":"array","title":"Effective Allowed Attachment Extensions","description":"Returns workspace-specific extensions if set, otherwise system defaults.","readOnly":true},"effective_allowed_attachment_mime_types":{"items":{"type":"string"},"type":"array","title":"Effective Allowed Attachment Mime Types","description":"Returns workspace-specific MIME types if set, otherwise system defaults.","readOnly":true}},"type":"object","required":["effective_allowed_attachment_extensions","effective_allowed_attachment_mime_types"],"title":"WorkspaceSettingsRead"},"WorkspaceSettingsUpdate":{"properties":{"git_provider":{"anyOf":[{"$ref":"#/components/schemas/VcsProvider"},{"type":"null"}]},"git_repo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Git Repo Url"},"workflow_unlimited_timeout_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Workflow Unlimited Timeout Enabled","description":"Allow workflows to run indefinitely without timeout constraints. When enabled, individual workflow timeout settings are ignored."},"workflow_default_timeout_seconds":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Workflow Default Timeout Seconds","description":"Default timeout in seconds for workflows in this workspace. Must be greater than or equal to 0."},"allowed_attachment_extensions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Attachment Extensions","description":"Allowed file extensions for attachments (e.g., ['.pdf', '.docx']). Overrides global defaults."},"allowed_attachment_mime_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Attachment Mime Types","description":"Allowed MIME types for attachments (e.g., ['application/pdf', 'image/jpeg']). Overrides global defaults."},"validate_attachment_magic_number":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Validate Attachment Magic Number","description":"Whether to validate file content matches declared MIME type using magic number detection. Defaults to true for security."}},"type":"object","title":"WorkspaceSettingsUpdate"},"WorkspaceSyncExportPreview":{"properties":{"resource_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Resource Counts","description":"Count of resources to commit, keyed by resource type."},"files":{"items":{"type":"string"},"type":"array","title":"Files","description":"Repository-relative paths the export would write."},"resources":{"items":{"$ref":"#/components/schemas/WorkspaceSyncPreviewResource"},"type":"array","title":"Resources","description":"Displayable resources included in the export preview."},"resource_diffs":{"items":{"$ref":"#/components/schemas/PullResourceDiff"},"type":"array","title":"Resource Diffs","description":"Per-resource file diffs between the comparison ref and projected export."}},"type":"object","required":["resource_counts","files"],"title":"WorkspaceSyncExportPreview","description":"Projection summary of the resources an export would commit.\n\nMirrors the pull dry-run preview: it projects the selected resources\nlocally without writing to Git or mutating sync mappings."},"WorkspaceSyncExportPreviewRequest":{"properties":{"resources":{"anyOf":[{"items":{"$ref":"#/components/schemas/ResourceRef"},"type":"array"},{"type":"null"}],"title":"Resources","description":"Specific resources to preview, or ``None`` for all."},"include_schedules":{"type":"boolean","title":"Include Schedules","description":"Whether to include workflow schedules in the preview.","default":false},"compare_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Compare Ref","description":"Repository ref to compare the projected export against. When omitted, the preview only returns the export manifest summary."}},"type":"object","title":"WorkspaceSyncExportPreviewRequest","description":"Request a dry-run projection of what an export would push to Git."},"WorkspaceSyncExportRequest":{"properties":{"message":{"type":"string","minLength":1,"title":"Message","description":"Commit message for the export."},"branch":{"type":"string","title":"Branch","description":"Target branch to commit to."},"create_pr":{"type":"boolean","title":"Create Pr","description":"Whether to open a pull request for the commit.","default":false},"pr_base_branch":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pr Base Branch","description":"Base branch for the pull request, if created."},"resources":{"anyOf":[{"items":{"$ref":"#/components/schemas/ResourceRef"},"type":"array"},{"type":"null"}],"title":"Resources","description":"Specific resources to export, or ``None`` to export all."},"include_schedules":{"type":"boolean","title":"Include Schedules","description":"Whether to include workflow schedules in the export.","default":false}},"type":"object","required":["message","branch"],"title":"WorkspaceSyncExportRequest","description":"Request to commit selected workspace resources to a Git branch."},"WorkspaceSyncExportResult":{"properties":{"commit":{"$ref":"#/components/schemas/CommitInfo","description":"Metadata for the commit that was created."},"files":{"items":{"type":"string"},"type":"array","title":"Files","description":"Repository-relative paths written by the export."}},"type":"object","required":["commit","files"],"title":"WorkspaceSyncExportResult","description":"Outcome of a workspace export: the commit made and files written."},"WorkspaceSyncPreviewResource":{"properties":{"resource_type":{"$ref":"#/components/schemas/SyncResourceType","description":"Type of resource included in the preview."},"source_id":{"type":"string","title":"Source Id","description":"Stable Git source id for the resource."},"name":{"type":"string","title":"Name","description":"Human-readable resource name."},"path":{"type":"string","title":"Path","description":"Primary repository path written for the resource."}},"type":"object","required":["resource_type","source_id","name","path"],"title":"WorkspaceSyncPreviewResource","description":"One resource included in a workspace sync export preview."},"WorkspaceUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name"},"settings":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceSettingsUpdate"},{"type":"null"}]}},"type":"object","title":"WorkspaceUpdate"},"Yaml":{"properties":{"component_id":{"type":"string","const":"yaml","title":"Component Id","default":"yaml"}},"type":"object","title":"Yaml"},"tracecat__admin__registry__schemas__RegistrySyncResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"synced_at":{"type":"string","format":"date-time","title":"Synced At"},"repositories":{"items":{"$ref":"#/components/schemas/RepositorySyncResult"},"type":"array","title":"Repositories"}},"type":"object","required":["success","synced_at","repositories"],"title":"RegistrySyncResponse","description":"Response from sync operation."},"tracecat__admin__registry__schemas__RegistryVersionPromoteResponse":{"properties":{"repository_id":{"type":"string","format":"uuid","title":"Repository Id"},"origin":{"type":"string","title":"Origin"},"previous_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Previous Version Id"},"current_version_id":{"type":"string","format":"uuid","title":"Current Version Id"},"version":{"type":"string","title":"Version"}},"type":"object","required":["repository_id","origin","previous_version_id","current_version_id","version"],"title":"RegistryVersionPromoteResponse","description":"Response from promoting a registry version."},"tracecat__admin__registry__schemas__RegistryVersionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"repository_id":{"type":"string","format":"uuid","title":"Repository Id"},"version":{"type":"string","title":"Version"},"commit_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commit Sha"},"tarball_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tarball Uri"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"is_current":{"type":"boolean","title":"Is Current","default":false},"artifacts_ready":{"type":"boolean","title":"Artifacts Ready","default":false},"workflow_definition_count":{"type":"integer","title":"Workflow Definition Count","default":0},"in_use":{"type":"boolean","title":"In Use","default":false}},"type":"object","required":["id","repository_id","version","commit_sha","tarball_uri","created_at"],"title":"RegistryVersionRead","description":"Registry version details."},"tracecat__organization__schemas__OrgDomainRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"domain":{"type":"string","title":"Domain"},"normalized_domain":{"type":"string","title":"Normalized Domain"},"is_primary":{"type":"boolean","title":"Is Primary"},"is_active":{"type":"boolean","title":"Is Active"},"verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Verified At"},"verification_method":{"type":"string","title":"Verification Method"},"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","domain","normalized_domain","is_primary","is_active","verified_at","verification_method","created_at","updated_at"],"title":"OrgDomainRead"},"tracecat__organization__schemas__OrgRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"OrgRead"},"tracecat__registry__repositories__schemas__RegistrySyncResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"repository_id":{"type":"string","format":"uuid","title":"Repository Id"},"origin":{"type":"string","title":"Origin"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"commit_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commit Sha"},"actions_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Actions Count"},"forced":{"type":"boolean","title":"Forced","default":false}},"type":"object","required":["success","repository_id","origin"],"title":"RegistrySyncResponse","description":"Response model for registry sync operation."},"tracecat__registry__repositories__schemas__RegistryVersionPromoteResponse":{"properties":{"repository_id":{"type":"string","format":"uuid","title":"Repository Id"},"origin":{"type":"string","title":"Origin"},"previous_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Previous Version Id"},"current_version_id":{"type":"string","format":"uuid","title":"Current Version Id"},"version":{"type":"string","title":"Version"}},"type":"object","required":["repository_id","origin","previous_version_id","current_version_id","version"],"title":"RegistryVersionPromoteResponse","description":"Response model for version promotion."},"tracecat__registry__repositories__schemas__RegistryVersionRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"repository_id":{"type":"string","format":"uuid","title":"Repository Id"},"version":{"type":"string","title":"Version"},"commit_sha":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commit Sha"},"tarball_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tarball Uri"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","repository_id","version","commit_sha","tarball_uri","created_at"],"title":"RegistryVersionRead","description":"Response model for reading a registry version."},"tracecat_ee__admin__organizations__schemas__OrgDomainRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"domain":{"type":"string","title":"Domain"},"normalized_domain":{"type":"string","title":"Normalized Domain"},"is_primary":{"type":"boolean","title":"Is Primary"},"is_active":{"type":"boolean","title":"Is Active"},"verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Verified At"},"verification_method":{"type":"string","title":"Verification Method"},"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","domain","normalized_domain","is_primary","is_active","verification_method","created_at","updated_at"],"title":"OrgDomainRead","description":"Organization domain response."},"tracecat_ee__admin__organizations__schemas__OrgRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","name","slug","is_active","created_at"],"title":"OrgRead","description":"Organization response."}},"securitySchemes":{"APIKeyCookie":{"type":"apiKey","in":"cookie","name":"fastapiusersauth"},"ServiceAccountApiKeyBearer":{"type":"http","description":"Tracecat service account API key.","scheme":"bearer"},"APIKeyHeader":{"type":"apiKey","in":"header","name":"x-tracecat-service-key"}}},"tags":[{"name":"public","description":"Public facing endpoints"},{"name":"workflows","description":"Workflow management"},{"name":"actions","description":"Action management"},{"name":"triggers","description":"Workflow triggers"},{"name":"secrets","description":"Secret management"},{"name":"variables","description":"Workspace variable management"}]}