Append a timeline comment to an alert. When an agent triaged the alert, a signed-in person’s comment is also sent to that agent in its triage run, which answers there; the returned entry names the run under metadata.agentRun.
The comment. metadata.agentRun names the triage run it was sent to, when it was.
Option 1
Option 2
Option 3
Option 4
Option 5
Option 6
Option 7
Option 8
Option 9
Option 10
Option 11
Show child attributes
Was this page helpful?
⌘I
{"docsConfig":{"theme":"linden","$schema":"https://mintlify.com/docs.json","name":"Cotool Documentation","colors":{"primary":"#A9D5F5","light":"#A9D5F5","dark":"#ADB7C2"},"logo":{"light":"https://mintcdn.com/cotool-bcb49c92/2D7q2Y6FoJjh0OqV/logo/light.svg?fit=max\u0026auto=format\u0026n=2D7q2Y6FoJjh0OqV\u0026q=85\u0026s=ed5fa6ba5fadea78cb6d1341380b9873","dark":"https://mintcdn.com/cotool-bcb49c92/2D7q2Y6FoJjh0OqV/logo/dark.svg?fit=max\u0026auto=format\u0026n=2D7q2Y6FoJjh0OqV\u0026q=85\u0026s=fab6122c7e0ad6a1e8299f49397231f5"},"favicon":"https://mintcdn.com/cotool-bcb49c92/YkFCFtl3swKv9Xqp/favicon.png?fit=max\u0026auto=format\u0026n=YkFCFtl3swKv9Xqp\u0026q=85\u0026s=4c02ec1d53713897f1c2b6f7815e864b","api":{"playground":{"display":"simple"},"examples":{"defaults":"all","languages":["curl","python","javascript","java","go"]}},"navbar":{"links":[{"href":"mailto:support@cotool.ai","label":"Support"}]},"footer":{"socials":{"x":"https://x.com/cotoolai","linkedin":"https://www.linkedin.com/company/cotool-ai","website":"https://cotool.ai"}},"integrations":{"ga4":{"measurementId":"G-RJSB18V7N5"},"gtm":{"tagId":"GTM-5BPJH7T2"}},"contextual":{"options":["copy","view"],"display":"header"},"styling":{"latex":false},"background":{"color":{"light":"#fcfeff","dark":"#0e0f12"}},"navigation":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://cotool.ai/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cotool-bcb49c92","hasAudioNarration":false,"actualSubdomain":"cotool-bcb49c92","customDomains":["docs.cotool.ai"],"gitSource":{"type":"github","owner":"cotool","repo":"cogent-client","deployBranch":"stable","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af1ef844fec639ad50f5578","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API Reference","count":159},{"language":"default","tag":"Endpoints","count":158},{"language":"default","tag":"Documentation","count":60},{"language":"default","tag":"Agents","count":30},{"language":"default","tag":"Alerts","count":23},{"language":"default","tag":"Integrations","count":17},{"language":"default","tag":"Agent Runs","count":14},{"language":"default","tag":"Agent Triggers","count":14},{"language":"default","tag":"Hunt","count":12},{"language":"default","tag":"Intel","count":11}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/alerts/add-alert-comment","slug":"/api-reference/alerts/add-alert-comment","pageMetadata":{"title":"Add alert comment","description":"Append a timeline comment to an alert. When an agent triaged the alert, a signed-in person's comment is also sent to that agent in its triage run, which answers there; the returned entry names the run under `metadata.agentRun`.","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/alerts/{alertId}/comments","href":"/api-reference/alerts/add-alert-comment","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Append a timeline comment to an alert. When an agent triaged the alert, a signed-in person’s comment is also sent to that agent in its triage run, which answers there; the returned entry names the run under \", _jsx(_components.code, {\n children: \"metadata.agentRun\"\n }), \".\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Add alert comment","description":"Append a timeline comment to an alert. When an agent triaged the alert, a signed-in person's comment is also sent to that agent in its triage run, which answers there; the returned entry names the run under `metadata.agentRun`.","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/alerts/{alertId}/comments","href":"/api-reference/alerts/add-alert-comment","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Add alert comment","description":"Append a timeline comment to an alert. When an agent triaged the alert, a signed-in person's comment is also sent to that agent in its triage run, which answers there; the returned entry names the run under `metadata.agentRun`.","tags":["Alerts"],"x-codeSamples":[{"lang":"shell","label":"cURL","source":"curl -X POST \"https://app.cotool.ai/api/alerts/:alertId/comments\" \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"bodyMarkdown\":\"string\"}'"}],"parameters":["399ae91c-4c3e-4fba-8155-23f054512db4"],"requestBody":"34b6cca7-39ab-42f6-be79-9dbc1c5b2273","responses":{"200":"73f656d4-1542-48b9-9ddd-0c5ee9ff5c3d","400":"172e2311-c4cf-46e6-8218-b4172a2be4f8","401":"1e777ba6-7a53-4430-aa68-3f5b119b5578","403":"465008cc-92ec-4a9c-8ef1-62a0d0a130f0","500":"5e9d1953-8c9d-4cbc-b498-5f9bd8a18136"},"method":"post","type":"path","servers":["53704bd6-eab2-469b-8f22-00026b9bd3c3"],"security":["184f5505-5bc1-478d-aee9-f41f36c72d98"],"path":"/api/alerts/{alertId}/comments","baseUrlOptions":["https://app.cotool.ai"],"title":"Add alert comment","codeSamples":[{"label":"cURL","lang":"shell","source":"curl -X POST \"https://app.cotool.ai/api/alerts/:alertId/comments\" \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\"bodyMarkdown\":\"string\"}'"}],"requestExampleLanguages":["bash","python","javascript","java","go"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"399ae91c-4c3e-4fba-8155-23f054512db4":{"in":"path","name":"alertId","description":"Alert UUID or human-readable display ID","schema":{"type":"string","description":"Alert UUID or human-readable display ID","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"bodyMarkdown":{"type":"string","minLength":1,"maxLength":20000,"description":"Markdown comment body","isRequired":true,"uniqueKey":"bodyMarkdown","typeLabel":"string"}},"required":["bodyMarkdown"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"bodyMarkdown":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"73f656d4-1542-48b9-9ddd-0c5ee9ff5c3d":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"entry":{"oneOf":[{"type":"object","description":"The comment. `metadata.agentRun` names the triage run it was sent to, when it was.","required":["id","organizationId","alertId","createdAt","actorType","actorUserId","actorAgentId","actorRunId","actorUserName","actorUserImageUrl","kind","bodyMarkdown","beforeStatus","afterStatus","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"Timeline entry identifier","isRequired":true,"uniqueKey":"entry.oneOf.0.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"entry.oneOf.0.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"entry.oneOf.0.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"entry.oneOf.0.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"entry.oneOf.0.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.0.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.0.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.0.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.0.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.0.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.0.actorAgentId","typeLabel":"string\u003cuuid> | null"},"actorRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.0.actorRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.0.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.0.actorRunId","typeLabel":"string\u003cuuid> | null"},"actorUserName":{"oneOf":[{"type":"string","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.0.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.0.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.0.actorUserName","typeLabel":"string | null"},"actorUserImageUrl":{"oneOf":[{"type":"string","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.0.actorUserImageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.0.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.0.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"created","isRequired":true,"uniqueKey":"entry.oneOf.0.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.0.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.0.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.0.bodyMarkdown","typeLabel":"string | null"},"beforeStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.0.beforeStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.0.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.0.beforeStatus","typeLabel":"enum\u003cstring> | null"},"afterStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.0.afterStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.0.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.0.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"source":{"type":"object","properties":{"category":{"type":"string","enum":["detection","trigger","hunt","api","agent"],"description":"Broad alert source category. Hunt covers threat-intel exposure alerts minted by the Hunt surface; api covers alerts submitted through an API source; agent covers alerts deliberately created by an agent.","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.source.category","typeLabel":"enum\u003cstring>"},"name":{"type":"string","enum":["cotool_detection","cotool_code","cotool_signal","hunt","hunt_v2","api","agent","jira","jira-automation","slack","linear","cron","webhook","email","bugcrowd","hackerone","zscaler","darktrace","seon"],"description":"Filter-oriented alert source name. Trigger-created alerts use the trigger type.","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.source.name","typeLabel":"enum\u003cstring>"},"triggerType":{"oneOf":[{"type":"string","enum":["jira","jira-automation","slack","linear","cron","webhook","email","bugcrowd","hackerone","zscaler","darktrace","seon",null],"description":"Trigger source when category is trigger","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.source.triggerType.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["jira","jira-automation","slack","linear","cron","webhook","email","bugcrowd","hackerone","zscaler","darktrace","seon",null],"description":"Trigger source when category is trigger","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.source.triggerType.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.source.triggerType","typeLabel":"enum\u003cstring> | null"}},"required":["category","name","triggerType"],"description":"Filter-oriented source attribution for an alert.","uniqueKey":"entry.oneOf.0.metadata.source","typeLabel":"object"},"originDetectionHitId":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"entry.oneOf.0.metadata.originDetectionHitId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"entry.oneOf.0.metadata.originDetectionHitId.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.0.metadata.originDetectionHitId","typeLabel":"string\u003cuuid> | null"},"originTriggerId":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"entry.oneOf.0.metadata.originTriggerId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"entry.oneOf.0.metadata.originTriggerId.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.0.metadata.originTriggerId","typeLabel":"string\u003cuuid> | null"},"sourcePayloadId":{"type":"string","format":"uuid","uniqueKey":"entry.oneOf.0.metadata.sourcePayloadId","typeLabel":"string\u003cuuid>"},"notifications":{"type":"array","items":{"type":"object","properties":{"destinationId":{"type":"string","format":"uuid","description":"Output destination ID","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].destinationId","typeLabel":"string\u003cuuid>"},"destinationType":{"type":"string","enum":["webhook","teams","slack","pagerduty","linear","tines","incidentio"],"isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].destinationType","typeLabel":"enum\u003cstring>"},"destinationName":{"type":"string","description":"Name of the output destination when it was sent","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].destinationName","typeLabel":"string"},"label":{"oneOf":[{"type":"string","description":"What the destination created, e.g. \"SEC-412\"","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","description":"What the destination created, e.g. \"SEC-412\"","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].label","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","format":"uri","description":"Link to the message, issue, or case","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Link to the message, issue, or case","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].url","typeLabel":"string\u003curi> | null"},"externalId":{"type":"string","description":"Destination-side identifier (Slack channel and message ts, Linear issue id, ...); with the destination, identifies the notification","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].externalId","typeLabel":"string"},"sentAt":{"type":"string","format":"date-time","description":"When the notification was sent","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].sentAt","typeLabel":"string\u003cdate-time>"},"threadTs":{"type":"string","description":"Slack only: the thread root the post replied in; absent for a top-level post","uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].threadTs","typeLabel":"string"},"routeId":{"type":"string","format":"uuid","description":"Escalation route that sent the notification; absent when it went to the default destinations","uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].routeId","typeLabel":"string\u003cuuid>"},"routeName":{"type":"string","description":"Name of the escalation route when it was sent","uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX].routeName","typeLabel":"string"}},"required":["destinationId","destinationType","destinationName","label","url","externalId","sentAt"],"uniqueKey":"entry.oneOf.0.metadata.notifications.items.[INDEX]","typeLabel":"object"},"description":"New Alert posts, as the alert-created delivery sends them. A top-level Slack post is the alert's thread in its channel.","uniqueKey":"entry.oneOf.0.metadata.notifications","typeLabel":"object[]"}},"additionalProperties":true,"description":"Metadata for alert creation timeline entries.","isRequired":true,"uniqueKey":"entry.oneOf.0.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.0.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.0.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.0.actorAgentName","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"entry.oneOf.0","typeLabel":"object"},{"type":"object","description":"The comment. `metadata.agentRun` names the triage run it was sent to, when it was.","required":["id","organizationId","alertId","createdAt","actorType","actorUserId","actorAgentId","actorRunId","actorUserName","actorUserImageUrl","kind","bodyMarkdown","beforeStatus","afterStatus","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"Timeline entry identifier","isRequired":true,"uniqueKey":"entry.oneOf.1.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"entry.oneOf.1.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"entry.oneOf.1.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"entry.oneOf.1.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"entry.oneOf.1.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.1.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.1.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.1.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.1.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.1.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.1.actorAgentId","typeLabel":"string\u003cuuid> | null"},"actorRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.1.actorRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.1.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.1.actorRunId","typeLabel":"string\u003cuuid> | null"},"actorUserName":{"oneOf":[{"type":"string","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.1.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.1.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.1.actorUserName","typeLabel":"string | null"},"actorUserImageUrl":{"oneOf":[{"type":"string","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.1.actorUserImageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.1.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.1.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"comment","isRequired":true,"uniqueKey":"entry.oneOf.1.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.1.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.1.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.1.bodyMarkdown","typeLabel":"string | null"},"beforeStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.1.beforeStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.1.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.1.beforeStatus","typeLabel":"enum\u003cstring> | null"},"afterStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.1.afterStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.1.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.1.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"slackSource":{"oneOf":[{}],"uniqueKey":"entry.oneOf.1.metadata.slackSource","typeLabel":"any"},"agentRun":{"description":"The triage run this comment was sent to, when it was, as `{ agentId, runId }`","uniqueKey":"entry.oneOf.1.metadata.agentRun","typeLabel":"any"}},"additionalProperties":true,"description":"Metadata for alert comment timeline entries.","isRequired":true,"uniqueKey":"entry.oneOf.1.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.1.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.1.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.1.actorAgentName","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"entry.oneOf.1","typeLabel":"object"},{"type":"object","description":"The comment. `metadata.agentRun` names the triage run it was sent to, when it was.","required":["id","organizationId","alertId","createdAt","actorType","actorUserId","actorAgentId","actorRunId","actorUserName","actorUserImageUrl","kind","bodyMarkdown","beforeStatus","afterStatus","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"Timeline entry identifier","isRequired":true,"uniqueKey":"entry.oneOf.2.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"entry.oneOf.2.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"entry.oneOf.2.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"entry.oneOf.2.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"entry.oneOf.2.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.2.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.2.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.2.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.2.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.2.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.2.actorAgentId","typeLabel":"string\u003cuuid> | null"},"actorRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.2.actorRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.2.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.2.actorRunId","typeLabel":"string\u003cuuid> | null"},"actorUserName":{"oneOf":[{"type":"string","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.2.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.2.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.2.actorUserName","typeLabel":"string | null"},"actorUserImageUrl":{"oneOf":[{"type":"string","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.2.actorUserImageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.2.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.2.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"status_change","isRequired":true,"uniqueKey":"entry.oneOf.2.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.2.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.2.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.2.bodyMarkdown","typeLabel":"string | null"},"beforeStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.2.beforeStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.2.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.2.beforeStatus","typeLabel":"enum\u003cstring> | null"},"afterStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.2.afterStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.2.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.2.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"reason":{"oneOf":[{"type":"string","uniqueKey":"entry.oneOf.2.metadata.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"entry.oneOf.2.metadata.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.2.metadata.reason","typeLabel":"string | null"},"agentId":{"type":"string","format":"uuid","uniqueKey":"entry.oneOf.2.metadata.agentId","typeLabel":"string\u003cuuid>"},"runId":{"type":"string","format":"uuid","uniqueKey":"entry.oneOf.2.metadata.runId","typeLabel":"string\u003cuuid>"},"outcome":{"type":"string","enum":["completed","failed","canceled"],"description":"How an alert triage run ended. `completed` means the run finished without setting a final disposition; `failed` means the agent run errored; `canceled` means the run was interrupted.","uniqueKey":"entry.oneOf.2.metadata.outcome","typeLabel":"enum\u003cstring>"},"duplicateOfAlertId":{"type":"string","format":"uuid","uniqueKey":"entry.oneOf.2.metadata.duplicateOfAlertId","typeLabel":"string\u003cuuid>"},"duplicateOfDisplayId":{"type":"string","pattern":"^COT-\\d+$","description":"Human-readable alert identifier","uniqueKey":"entry.oneOf.2.metadata.duplicateOfDisplayId","typeLabel":"string"},"duplicateOfTitle":{"type":"string","minLength":1,"uniqueKey":"entry.oneOf.2.metadata.duplicateOfTitle","typeLabel":"string"},"notifications":{"type":"array","items":{"type":"object","properties":{"destinationId":{"type":"string","format":"uuid","description":"Output destination ID","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].destinationId","typeLabel":"string\u003cuuid>"},"destinationType":{"type":"string","enum":["webhook","teams","slack","pagerduty","linear","tines","incidentio"],"isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].destinationType","typeLabel":"enum\u003cstring>"},"destinationName":{"type":"string","description":"Name of the output destination when it was sent","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].destinationName","typeLabel":"string"},"label":{"oneOf":[{"type":"string","description":"What the destination created, e.g. \"SEC-412\"","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","description":"What the destination created, e.g. \"SEC-412\"","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].label","typeLabel":"string | null"},"url":{"oneOf":[{"type":"string","format":"uri","description":"Link to the message, issue, or case","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Link to the message, issue, or case","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].url","typeLabel":"string\u003curi> | null"},"externalId":{"type":"string","description":"Destination-side identifier (Slack channel and message ts, Linear issue id, ...); with the destination, identifies the notification","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].externalId","typeLabel":"string"},"sentAt":{"type":"string","format":"date-time","description":"When the notification was sent","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].sentAt","typeLabel":"string\u003cdate-time>"},"threadTs":{"type":"string","description":"Slack only: the thread root the post replied in; absent for a top-level post","uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].threadTs","typeLabel":"string"},"routeId":{"type":"string","format":"uuid","description":"Escalation route that sent the notification; absent when it went to the default destinations","uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].routeId","typeLabel":"string\u003cuuid>"},"routeName":{"type":"string","description":"Name of the escalation route when it was sent","uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX].routeName","typeLabel":"string"}},"required":["destinationId","destinationType","destinationName","label","url","externalId","sentAt"],"uniqueKey":"entry.oneOf.2.metadata.notifications.items.[INDEX]","typeLabel":"object"},"description":"For an escalation, where its notifications landed, as the delivery jobs send them","uniqueKey":"entry.oneOf.2.metadata.notifications","typeLabel":"object[]"},"alternativeExplanations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.alternativeExplanations.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"statement":{"type":"string","minLength":1,"maxLength":160,"description":"One present-tense sentence a reviewer can confirm, e.g. \"ClickUp is an approved Gmail integration\".","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.alternativeExplanations.items.[INDEX].statement","typeLabel":"string"},"disposition":{"type":"string","enum":["false_positive","true_positive_benign"],"description":"How the alert closes when a reviewer confirms this explanation: the activity happened but is expected (benign), or the detection claim is wrong (false positive).","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.alternativeExplanations.items.[INDEX].disposition","typeLabel":"enum\u003cstring>"},"basis":{"type":"string","minLength":1,"maxLength":600,"description":"The cue in the evidence that makes the explanation plausible and the gap in the escalation it would fill.","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.alternativeExplanations.items.[INDEX].basis","typeLabel":"string"}},"required":["id","statement","disposition","basis"],"uniqueKey":"entry.oneOf.2.metadata.alternativeExplanations.items.[INDEX]","typeLabel":"object"},"description":"For an agent escalation, explanations the agent could not rule out that a reviewer can confirm to close the alert. Recorded by the generation job after the escalation; absent until then or when none apply.","uniqueKey":"entry.oneOf.2.metadata.alternativeExplanations","typeLabel":"object[]"},"confirmedAlternativeExplanation":{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.confirmedAlternativeExplanation.id","typeLabel":"string\u003cuuid>"},"statement":{"type":"string","minLength":1,"maxLength":160,"description":"One present-tense sentence a reviewer can confirm, e.g. \"ClickUp is an approved Gmail integration\".","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.confirmedAlternativeExplanation.statement","typeLabel":"string"},"disposition":{"type":"string","enum":["false_positive","true_positive_benign"],"description":"How the alert closes when a reviewer confirms this explanation: the activity happened but is expected (benign), or the detection claim is wrong (false positive).","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.confirmedAlternativeExplanation.disposition","typeLabel":"enum\u003cstring>"},"basis":{"type":"string","minLength":1,"maxLength":600,"description":"The cue in the evidence that makes the explanation plausible and the gap in the escalation it would fill.","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.confirmedAlternativeExplanation.basis","typeLabel":"string"},"escalationTimelineEntryId":{"type":"string","format":"uuid","description":"The escalation entry the explanation was offered on","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata.confirmedAlternativeExplanation.escalationTimelineEntryId","typeLabel":"string\u003cuuid>"}},"required":["id","statement","disposition","basis","escalationTimelineEntryId"],"description":"For a close, the alternative explanation the reviewer confirmed, when the close came from confirming one","uniqueKey":"entry.oneOf.2.metadata.confirmedAlternativeExplanation","typeLabel":"object"},"nextSteps":{"description":"For an escalation, its next steps with who does each and where each stands. Escalations recorded before steps had performers carry only their text steps.","uniqueKey":"entry.oneOf.2.metadata.nextSteps","typeLabel":"any"}},"additionalProperties":true,"description":"Metadata for alert status-change timeline entries.","isRequired":true,"uniqueKey":"entry.oneOf.2.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.2.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.2.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.2.actorAgentName","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"entry.oneOf.2","typeLabel":"object"},{"type":"object","description":"The comment. `metadata.agentRun` names the triage run it was sent to, when it was.","required":["id","organizationId","alertId","createdAt","actorType","actorUserId","actorAgentId","actorRunId","actorUserName","actorUserImageUrl","kind","bodyMarkdown","beforeStatus","afterStatus","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"Timeline entry identifier","isRequired":true,"uniqueKey":"entry.oneOf.3.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"entry.oneOf.3.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"entry.oneOf.3.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"entry.oneOf.3.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"entry.oneOf.3.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.3.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.3.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.3.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.3.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.3.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.3.actorAgentId","typeLabel":"string\u003cuuid> | null"},"actorRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.3.actorRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.3.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.3.actorRunId","typeLabel":"string\u003cuuid> | null"},"actorUserName":{"oneOf":[{"type":"string","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.3.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.3.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.3.actorUserName","typeLabel":"string | null"},"actorUserImageUrl":{"oneOf":[{"type":"string","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.3.actorUserImageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.3.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.3.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"title_change","isRequired":true,"uniqueKey":"entry.oneOf.3.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.3.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.3.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.3.bodyMarkdown","typeLabel":"string | null"},"beforeStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.3.beforeStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.3.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.3.beforeStatus","typeLabel":"enum\u003cstring> | null"},"afterStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.3.afterStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.3.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.3.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"beforeTitle":{"oneOf":[{"type":"string","uniqueKey":"entry.oneOf.3.metadata.beforeTitle.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"entry.oneOf.3.metadata.beforeTitle.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.3.metadata.beforeTitle","typeLabel":"string | null"},"afterTitle":{"oneOf":[{"type":"string","uniqueKey":"entry.oneOf.3.metadata.afterTitle.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"entry.oneOf.3.metadata.afterTitle.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.3.metadata.afterTitle","typeLabel":"string | null"}},"additionalProperties":true,"description":"Metadata for alert title-change timeline entries.","isRequired":true,"uniqueKey":"entry.oneOf.3.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.3.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.3.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.3.actorAgentName","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"entry.oneOf.3","typeLabel":"object"},{"type":"object","description":"The comment. `metadata.agentRun` names the triage run it was sent to, when it was.","required":["id","organizationId","alertId","createdAt","actorType","actorUserId","actorAgentId","actorRunId","actorUserName","actorUserImageUrl","kind","bodyMarkdown","beforeStatus","afterStatus","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"Timeline entry identifier","isRequired":true,"uniqueKey":"entry.oneOf.4.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"entry.oneOf.4.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"entry.oneOf.4.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"entry.oneOf.4.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"entry.oneOf.4.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.4.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.4.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.4.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.4.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.4.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.4.actorAgentId","typeLabel":"string\u003cuuid> | null"},"actorRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.4.actorRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.4.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.4.actorRunId","typeLabel":"string\u003cuuid> | null"},"actorUserName":{"oneOf":[{"type":"string","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.4.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.4.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.4.actorUserName","typeLabel":"string | null"},"actorUserImageUrl":{"oneOf":[{"type":"string","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.4.actorUserImageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.4.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.4.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"description_change","isRequired":true,"uniqueKey":"entry.oneOf.4.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.4.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.4.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.4.bodyMarkdown","typeLabel":"string | null"},"beforeStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.4.beforeStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.4.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.4.beforeStatus","typeLabel":"enum\u003cstring> | null"},"afterStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.4.afterStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.4.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.4.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"beforeDescription":{"oneOf":[{"type":"string","uniqueKey":"entry.oneOf.4.metadata.beforeDescription.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"entry.oneOf.4.metadata.beforeDescription.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.4.metadata.beforeDescription","typeLabel":"string | null"},"afterDescription":{"oneOf":[{"type":"string","uniqueKey":"entry.oneOf.4.metadata.afterDescription.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"entry.oneOf.4.metadata.afterDescription.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.4.metadata.afterDescription","typeLabel":"string | null"}},"additionalProperties":true,"description":"Metadata for alert description-change timeline entries.","isRequired":true,"uniqueKey":"entry.oneOf.4.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.4.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.4.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.4.actorAgentName","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"entry.oneOf.4","typeLabel":"object"},{"type":"object","description":"The comment. `metadata.agentRun` names the triage run it was sent to, when it was.","required":["id","organizationId","alertId","createdAt","actorType","actorUserId","actorAgentId","actorRunId","actorUserName","actorUserImageUrl","kind","bodyMarkdown","beforeStatus","afterStatus","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"Timeline entry identifier","isRequired":true,"uniqueKey":"entry.oneOf.5.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"entry.oneOf.5.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"entry.oneOf.5.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"entry.oneOf.5.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"entry.oneOf.5.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.5.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.5.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.5.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.5.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.5.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.5.actorAgentId","typeLabel":"string\u003cuuid> | null"},"actorRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.5.actorRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.5.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.5.actorRunId","typeLabel":"string\u003cuuid> | null"},"actorUserName":{"oneOf":[{"type":"string","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.5.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.5.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.5.actorUserName","typeLabel":"string | null"},"actorUserImageUrl":{"oneOf":[{"type":"string","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.5.actorUserImageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.5.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.5.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"severity_change","isRequired":true,"uniqueKey":"entry.oneOf.5.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.5.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.5.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.5.bodyMarkdown","typeLabel":"string | null"},"beforeStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.5.beforeStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.5.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.5.beforeStatus","typeLabel":"enum\u003cstring> | null"},"afterStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.5.afterStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.5.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.5.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"beforeSeverity":{"oneOf":[{"type":"string","enum":["low","medium","high","critical",null],"uniqueKey":"entry.oneOf.5.metadata.beforeSeverity.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["low","medium","high","critical",null],"uniqueKey":"entry.oneOf.5.metadata.beforeSeverity.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.5.metadata.beforeSeverity","typeLabel":"enum\u003cstring> | null"},"afterSeverity":{"oneOf":[{"type":"string","enum":["low","medium","high","critical",null],"uniqueKey":"entry.oneOf.5.metadata.afterSeverity.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["low","medium","high","critical",null],"uniqueKey":"entry.oneOf.5.metadata.afterSeverity.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.5.metadata.afterSeverity","typeLabel":"enum\u003cstring> | null"},"reason":{"oneOf":[{"type":"string","uniqueKey":"entry.oneOf.5.metadata.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"entry.oneOf.5.metadata.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.5.metadata.reason","typeLabel":"string | null"}},"additionalProperties":true,"description":"Metadata for alert severity-change timeline entries.","isRequired":true,"uniqueKey":"entry.oneOf.5.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.5.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.5.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.5.actorAgentName","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"entry.oneOf.5","typeLabel":"object"},{"type":"object","description":"The comment. `metadata.agentRun` names the triage run it was sent to, when it was.","required":["id","organizationId","alertId","createdAt","actorType","actorUserId","actorAgentId","actorRunId","actorUserName","actorUserImageUrl","kind","bodyMarkdown","beforeStatus","afterStatus","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"Timeline entry identifier","isRequired":true,"uniqueKey":"entry.oneOf.6.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"entry.oneOf.6.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"entry.oneOf.6.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"entry.oneOf.6.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"entry.oneOf.6.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.6.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.6.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.6.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.6.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.6.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.6.actorAgentId","typeLabel":"string\u003cuuid> | null"},"actorRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.6.actorRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.6.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.6.actorRunId","typeLabel":"string\u003cuuid> | null"},"actorUserName":{"oneOf":[{"type":"string","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.6.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.6.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.6.actorUserName","typeLabel":"string | null"},"actorUserImageUrl":{"oneOf":[{"type":"string","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.6.actorUserImageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.6.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.6.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"assignment_change","isRequired":true,"uniqueKey":"entry.oneOf.6.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.6.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.6.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.6.bodyMarkdown","typeLabel":"string | null"},"beforeStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.6.beforeStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.6.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.6.beforeStatus","typeLabel":"enum\u003cstring> | null"},"afterStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.6.afterStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.6.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.6.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"reason":{"oneOf":[{"type":"string","uniqueKey":"entry.oneOf.6.metadata.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"entry.oneOf.6.metadata.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.6.metadata.reason","typeLabel":"string | null"},"assignedAgentId":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"entry.oneOf.6.metadata.assignedAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"entry.oneOf.6.metadata.assignedAgentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.6.metadata.assignedAgentId","typeLabel":"string\u003cuuid> | null"},"runId":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"entry.oneOf.6.metadata.runId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"entry.oneOf.6.metadata.runId.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.6.metadata.runId","typeLabel":"string\u003cuuid> | null"}},"additionalProperties":true,"description":"Metadata for alert assignment-change timeline entries.","isRequired":true,"uniqueKey":"entry.oneOf.6.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.6.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.6.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.6.actorAgentName","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"entry.oneOf.6","typeLabel":"object"},{"type":"object","description":"The comment. `metadata.agentRun` names the triage run it was sent to, when it was.","required":["id","organizationId","alertId","createdAt","actorType","actorUserId","actorAgentId","actorRunId","actorUserName","actorUserImageUrl","kind","bodyMarkdown","beforeStatus","afterStatus","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"Timeline entry identifier","isRequired":true,"uniqueKey":"entry.oneOf.7.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"entry.oneOf.7.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"entry.oneOf.7.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"entry.oneOf.7.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"entry.oneOf.7.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.7.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.7.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.7.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.7.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.7.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.7.actorAgentId","typeLabel":"string\u003cuuid> | null"},"actorRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.7.actorRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.7.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.7.actorRunId","typeLabel":"string\u003cuuid> | null"},"actorUserName":{"oneOf":[{"type":"string","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.7.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.7.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.7.actorUserName","typeLabel":"string | null"},"actorUserImageUrl":{"oneOf":[{"type":"string","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.7.actorUserImageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.7.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.7.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"triage_run","isRequired":true,"uniqueKey":"entry.oneOf.7.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.7.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.7.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.7.bodyMarkdown","typeLabel":"string | null"},"beforeStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.7.beforeStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.7.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.7.beforeStatus","typeLabel":"enum\u003cstring> | null"},"afterStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.7.afterStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.7.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.7.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"reason":{"oneOf":[{"type":"string","uniqueKey":"entry.oneOf.7.metadata.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"entry.oneOf.7.metadata.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.7.metadata.reason","typeLabel":"string | null"},"agentId":{"type":"string","format":"uuid","uniqueKey":"entry.oneOf.7.metadata.agentId","typeLabel":"string\u003cuuid>"},"runId":{"type":"string","format":"uuid","uniqueKey":"entry.oneOf.7.metadata.runId","typeLabel":"string\u003cuuid>"},"outcome":{"type":"string","enum":["completed","failed","canceled"],"description":"How an alert triage run ended. `completed` means the run finished without setting a final disposition; `failed` means the agent run errored; `canceled` means the run was interrupted.","uniqueKey":"entry.oneOf.7.metadata.outcome","typeLabel":"enum\u003cstring>"}},"additionalProperties":true,"description":"Metadata for alert triage-run timeline entries.","isRequired":true,"uniqueKey":"entry.oneOf.7.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.7.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.7.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.7.actorAgentName","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"entry.oneOf.7","typeLabel":"object"},{"type":"object","description":"The comment. `metadata.agentRun` names the triage run it was sent to, when it was.","required":["id","organizationId","alertId","createdAt","actorType","actorUserId","actorAgentId","actorRunId","actorUserName","actorUserImageUrl","kind","bodyMarkdown","beforeStatus","afterStatus","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"Timeline entry identifier","isRequired":true,"uniqueKey":"entry.oneOf.8.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"entry.oneOf.8.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"entry.oneOf.8.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"entry.oneOf.8.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"entry.oneOf.8.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.8.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.8.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.8.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.8.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.8.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.8.actorAgentId","typeLabel":"string\u003cuuid> | null"},"actorRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.8.actorRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.8.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.8.actorRunId","typeLabel":"string\u003cuuid> | null"},"actorUserName":{"oneOf":[{"type":"string","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.8.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.8.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.8.actorUserName","typeLabel":"string | null"},"actorUserImageUrl":{"oneOf":[{"type":"string","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.8.actorUserImageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.8.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.8.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"duplicate_linked","isRequired":true,"uniqueKey":"entry.oneOf.8.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.8.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.8.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.8.bodyMarkdown","typeLabel":"string | null"},"beforeStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.8.beforeStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.8.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.8.beforeStatus","typeLabel":"enum\u003cstring> | null"},"afterStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.8.afterStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.8.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.8.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"duplicateAlertId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"entry.oneOf.8.metadata.duplicateAlertId","typeLabel":"string\u003cuuid>"},"duplicateAlertDisplayId":{"type":"string","pattern":"^COT-\\d+$","description":"Human-readable alert identifier","isRequired":true,"uniqueKey":"entry.oneOf.8.metadata.duplicateAlertDisplayId","typeLabel":"string"},"duplicateAlertTitle":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"entry.oneOf.8.metadata.duplicateAlertTitle","typeLabel":"string"}},"required":["duplicateAlertId","duplicateAlertDisplayId","duplicateAlertTitle"],"description":"Metadata for an alert marked as a duplicate of this alert.","isRequired":true,"uniqueKey":"entry.oneOf.8.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.8.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.8.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.8.actorAgentName","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"entry.oneOf.8","typeLabel":"object"},{"type":"object","description":"The comment. `metadata.agentRun` names the triage run it was sent to, when it was.","required":["id","organizationId","alertId","createdAt","actorType","actorUserId","actorAgentId","actorRunId","actorUserName","actorUserImageUrl","kind","bodyMarkdown","beforeStatus","afterStatus","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"Timeline entry identifier","isRequired":true,"uniqueKey":"entry.oneOf.9.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"entry.oneOf.9.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"entry.oneOf.9.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"entry.oneOf.9.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"entry.oneOf.9.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.9.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.9.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.9.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.9.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.9.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.9.actorAgentId","typeLabel":"string\u003cuuid> | null"},"actorRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.9.actorRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.9.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.9.actorRunId","typeLabel":"string\u003cuuid> | null"},"actorUserName":{"oneOf":[{"type":"string","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.9.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.9.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.9.actorUserName","typeLabel":"string | null"},"actorUserImageUrl":{"oneOf":[{"type":"string","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.9.actorUserImageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.9.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.9.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"external_event","isRequired":true,"uniqueKey":"entry.oneOf.9.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.9.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.9.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.9.bodyMarkdown","typeLabel":"string | null"},"beforeStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.9.beforeStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.9.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.9.beforeStatus","typeLabel":"enum\u003cstring> | null"},"afterStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.9.afterStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.9.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.9.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"slackThread":{"type":"object","properties":{"teamId":{"type":"string","pattern":"^T[A-Z0-9]+$","isRequired":true,"uniqueKey":"entry.oneOf.9.metadata.slackThread.teamId","typeLabel":"string"},"channelId":{"type":"string","pattern":"^[CG][A-Z0-9]+$","isRequired":true,"uniqueKey":"entry.oneOf.9.metadata.slackThread.channelId","typeLabel":"string"},"threadTs":{"type":"string","pattern":"^\\d+\\.\\d+$","isRequired":true,"uniqueKey":"entry.oneOf.9.metadata.slackThread.threadTs","typeLabel":"string"},"url":{"oneOf":[{"type":"string","format":"uri","description":"Link to the thread root","isRequired":true,"uniqueKey":"entry.oneOf.9.metadata.slackThread.url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Link to the thread root","isRequired":true,"uniqueKey":"entry.oneOf.9.metadata.slackThread.url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.9.metadata.slackThread.url","typeLabel":"string\u003curi> | null"},"replies":{"type":"array","items":{"type":"object","properties":{"messageTs":{"type":"string","pattern":"^\\d+\\.\\d+$","isRequired":true,"uniqueKey":"entry.oneOf.9.metadata.slackThread.replies.items.[INDEX].messageTs","typeLabel":"string"},"userId":{"type":"string","pattern":"^[UWB][A-Z0-9]+$","description":"The author's Slack user ID, or the bot ID of an app that posted without a user","isRequired":true,"uniqueKey":"entry.oneOf.9.metadata.slackThread.replies.items.[INDEX].userId","typeLabel":"string"},"text":{"type":"string","minLength":1,"maxLength":4000,"isRequired":true,"uniqueKey":"entry.oneOf.9.metadata.slackThread.replies.items.[INDEX].text","typeLabel":"string"},"userName":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"entry.oneOf.9.metadata.slackThread.replies.items.[INDEX].userName","typeLabel":"string"},"textTruncated":{"type":"boolean","uniqueKey":"entry.oneOf.9.metadata.slackThread.replies.items.[INDEX].textTruncated","typeLabel":"boolean"},"permalink":{"type":"string","format":"uri","uniqueKey":"entry.oneOf.9.metadata.slackThread.replies.items.[INDEX].permalink","typeLabel":"string\u003curi>"},"editedAt":{"type":"string","format":"date-time","description":"When the author last edited the reply in Slack","uniqueKey":"entry.oneOf.9.metadata.slackThread.replies.items.[INDEX].editedAt","typeLabel":"string\u003cdate-time>"}},"required":["messageTs","userId","text"],"uniqueKey":"entry.oneOf.9.metadata.slackThread.replies.items.[INDEX]","typeLabel":"object"},"maxItems":200,"description":"Replies oldest first, by Slack message timestamp","isRequired":true,"uniqueKey":"entry.oneOf.9.metadata.slackThread.replies","typeLabel":"object[]"}},"required":["teamId","channelId","threadTs","url","replies"],"description":"Replies people and apps posted in one of the alert's Slack threads, mirrored from Slack","uniqueKey":"entry.oneOf.9.metadata.slackThread","typeLabel":"object"}},"additionalProperties":true,"description":"Metadata for externally mirrored alert timeline entries.","isRequired":true,"uniqueKey":"entry.oneOf.9.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.9.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.9.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.9.actorAgentName","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"entry.oneOf.9","typeLabel":"object"},{"type":"object","description":"The comment. `metadata.agentRun` names the triage run it was sent to, when it was.","required":["id","organizationId","alertId","createdAt","actorType","actorUserId","actorAgentId","actorRunId","actorUserName","actorUserImageUrl","kind","bodyMarkdown","beforeStatus","afterStatus","metadata"],"properties":{"id":{"type":"string","format":"uuid","description":"Timeline entry identifier","isRequired":true,"uniqueKey":"entry.oneOf.10.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"entry.oneOf.10.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"entry.oneOf.10.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"entry.oneOf.10.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"entry.oneOf.10.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.10.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"entry.oneOf.10.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.10.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.10.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"entry.oneOf.10.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.10.actorAgentId","typeLabel":"string\u003cuuid> | null"},"actorRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.10.actorRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Run responsible for this entry, stored as chats.id","isRequired":true,"uniqueKey":"entry.oneOf.10.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.10.actorRunId","typeLabel":"string\u003cuuid> | null"},"actorUserName":{"oneOf":[{"type":"string","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.10.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"entry.oneOf.10.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.10.actorUserName","typeLabel":"string | null"},"actorUserImageUrl":{"oneOf":[{"type":"string","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.10.actorUserImageUrl.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved avatar image URL for a human actor, when one is available","isRequired":true,"uniqueKey":"entry.oneOf.10.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.10.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"detection_tuned","isRequired":true,"uniqueKey":"entry.oneOf.10.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.10.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"entry.oneOf.10.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.10.bodyMarkdown","typeLabel":"string | null"},"beforeStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.10.beforeStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status before a status transition","isRequired":true,"uniqueKey":"entry.oneOf.10.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.10.beforeStatus","typeLabel":"enum\u003cstring> | null"},"afterStatus":{"oneOf":[{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.10.afterStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired",null],"description":"Status after a status transition","isRequired":true,"uniqueKey":"entry.oneOf.10.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.10.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"detectionId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.detectionId","typeLabel":"string\u003cuuid>"},"detectionName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.detectionName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.detectionName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.detectionName","typeLabel":"string | null"},"versionId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.versionId","typeLabel":"string\u003cuuid>"},"version":{"oneOf":[{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.version.oneOf.0","typeLabel":"integer"},{"type":"null","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.version.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.version","typeLabel":"integer | null"},"proposalId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.proposalId","typeLabel":"string\u003cuuid>"},"chatId":{"oneOf":[{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.chatId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.chatId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.chatId","typeLabel":"string\u003cuuid> | null"},"role":{"type":"string","enum":["fp_eliminated","benign_eliminated","tp_retained"],"description":"How this alert's label figured in the approved tuning proposal: its false-positive or benign label was eliminated by the change, or it was a true positive the backtest verified the new version still catches.","isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.role","typeLabel":"enum\u003cstring>"},"windowStart":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.windowStart","typeLabel":"string\u003cdate-time>"},"windowEnd":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"entry.oneOf.10.metadata.windowEnd","typeLabel":"string\u003cdate-time>"}},"required":["detectionId","detectionName","versionId","version","proposalId","chatId","role","windowStart","windowEnd"],"additionalProperties":true,"description":"Metadata recorded on cited alerts when a tuning proposal built on this alert's feedback is approved and published.","isRequired":true,"uniqueKey":"entry.oneOf.10.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.10.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"entry.oneOf.10.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"entry.oneOf.10.actorAgentName","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"entry.oneOf.10","typeLabel":"object"}],"isRequired":true,"uniqueKey":"entry","typeLabel":"object"}},"required":["entry"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"entry":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","organizationId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","alertId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","createdAt":"\u003cstring>","actorType":"human","actorUserId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","actorAgentId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","actorRunId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","actorUserName":"\u003cstring>","actorUserImageUrl":"\u003cstring>","kind":"created","bodyMarkdown":"\u003cstring>","beforeStatus":"open","afterStatus":"open","metadata":{"source":{"category":"detection","name":"cotool_detection","triggerType":"jira"},"originDetectionHitId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","originTriggerId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","sourcePayloadId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","notifications":[{"destinationId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","destinationType":"webhook","destinationName":"\u003cstring>","label":"\u003cstring>","url":"\u003cstring>","externalId":"\u003cstring>","sentAt":"2023-11-07T05:31:56Z","threadTs":"\u003cstring>","routeId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","routeName":"\u003cstring>"}]},"actorAgentName":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"172e2311-c4cf-46e6-8218-b4172a2be4f8":{"description":"Bad request — input validation failed or the request was malformed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message describing what went wrong","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"issues":{"type":"array","description":"Detailed validation issues, present when request or response schema validation fails","items":{"type":"object","additionalProperties":true,"uniqueKey":"issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"issues","typeLabel":"object[]"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","issues":[{}]}}},"exampleType":"generated"}},"exampleType":"generated"},"1e777ba6-7a53-4430-aa68-3f5b119b5578":{"description":"Unauthorized — missing or invalid API key / session","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message describing what went wrong","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"465008cc-92ec-4a9c-8ef1-62a0d0a130f0":{"description":"Forbidden — the authenticated user lacks the required permissions","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message describing what went wrong","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"missingPerms":{"type":"array","description":"Permissions the authenticated user is missing for this operation","items":{"type":"string","uniqueKey":"missingPerms.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missingPerms","typeLabel":"string[]"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","missingPerms":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"5e9d1953-8c9d-4cbc-b498-5f9bd8a18136":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Error message describing what went wrong","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"184f5505-5bc1-478d-aee9-f41f36c72d98":{"ApiKeyAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"API Key authentication for programmatic access. Include your API key in the Authorization header as: `Bearer your_api_key_here`","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"53704bd6-eab2-469b-8f22-00026b9bd3c3":{"url":"https://app.cotool.ai","description":"Production server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"API Key authentication for programmatic access. Include your API key in the Authorization header as: `Bearer your_api_key_here`","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API Key authentication for programmatic access. Include your API key in the Authorization header as: `Bearer your_api_key_here`","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"ApiKeyAuth","name":"Authorization"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"https://app.cotool.ai/api/docs/openapi.json"},"subdomain":"cotool-bcb49c92","siteName":"Cotool Documentation","title":"Add alert comment - Cotool Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T16:06:36.617Z","originalFileLocation":"api-reference/alerts/add-alert-comment.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Append a timeline comment to an alert. When an agent triaged the alert, a signed-in person\u0026#x27;s comment is also sent to that agent in its triage run, which answers there; the returned entry names the run under metadata.agentRun.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Cotool Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cotool-bcb49c92/LJnfYfYlhELWbHCE/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/cotool-bcb49c92/LJnfYfYlhELWbHCE/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cotool-bcb49c92/LJnfYfYlhELWbHCE/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cotool-bcb49c92/LJnfYfYlhELWbHCE/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cotool-bcb49c92/LJnfYfYlhELWbHCE/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cotool-bcb49c92/LJnfYfYlhELWbHCE/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cotool-bcb49c92/LJnfYfYlhELWbHCE/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cotool-bcb49c92/LJnfYfYlhELWbHCE/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cotool-bcb49c92/LJnfYfYlhELWbHCE/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Add alert comment - Cotool Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Append a timeline comment to an alert. When an agent triaged the alert, a signed-in person\u0026#x27;s comment is also sent to that agent in its triage run, which answers there; the returned entry names the run under metadata.agentRun.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Cotool Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.cotool.ai/api-reference/alerts/add-alert-comment\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cotool-bcb49c92.mintlify.site/_mintlify/api/og/v2?division=Alerts\u0026amp;title=Add+alert+comment\u0026amp;description=Append+a+timeline+comment+to+an+alert.+When+an+agent+triaged+the+alert%2C+a+signed-in+person%27s+comment+is+also+sent+to+that+agent+in+its+triage+run%2C+which+answers\u0026amp;theme=9cf48588ea89a0ad039b77ef\u0026amp;signature=09d8350e1bccdc56475774ae416df8f918a9221b5936657e940ae9a9bbd8f973\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Add alert comment - Cotool Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Append a timeline comment to an alert. When an agent triaged the alert, a signed-in person\u0026#x27;s comment is also sent to that agent in its triage run, which answers there; the returned entry names the run under metadata.agentRun.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cotool-bcb49c92.mintlify.site/_mintlify/api/og/v2?division=Alerts\u0026amp;title=Add+alert+comment\u0026amp;description=Append+a+timeline+comment+to+an+alert.+When+an+agent+triaged+the+alert%2C+a+signed-in+person%27s+comment+is+also+sent+to+that+agent+in+its+triage+run%2C+which+answers\u0026amp;theme=9cf48588ea89a0ad039b77ef\u0026amp;signature=09d8350e1bccdc56475774ae416df8f918a9221b5936657e940ae9a9bbd8f973\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/cotool-bcb49c92/LJnfYfYlhELWbHCE/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Cotool Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#A9D5F5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.cotool.ai/api-reference/alerts/add-alert-comment\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/alerts/add-alert-comment.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.cotool.ai/#organization\",\"name\":\"Cotool Documentation\",\"url\":\"https://docs.cotool.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cotool-bcb49c92/2D7q2Y6FoJjh0OqV/logo/light.svg?fit=max\u0026auto=format\u0026n=2D7q2Y6FoJjh0OqV\u0026q=85\u0026s=ed5fa6ba5fadea78cb6d1341380b9873\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.cotool.ai#website\",\"name\":\"Cotool Documentation\",\"url\":\"https://docs.cotool.ai\",\"publisher\":{\"@id\":\"https://docs.cotool.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.cotool.ai/api-reference/alerts/add-alert-comment#webpage\",\"url\":\"https://docs.cotool.ai/api-reference/alerts/add-alert-comment\",\"name\":\"Add alert comment\",\"description\":\"Append a timeline comment to an alert. When an agent triaged the alert, a signed-in person's comment is also sent to that agent in its triage run, which answers there; the returned entry names the run under metadata.agentRun.\",\"dateModified\":\"2026-11-09T16:06:36.617Z\",\"isPartOf\":{\"@id\":\"https://docs.cotool.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.cotool.ai/api-reference/alerts/add-alert-comment#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.cotool.ai/api-reference/alerts/add-alert-comment#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.cotool.ai/api-reference/agent-triggers/list-agent-triggers\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Alerts\",\"item\":\"https://docs.cotool.ai/api-reference/alerts/list-alerts\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Add alert comment\",\"item\":\"https://docs.cotool.ai/api-reference/alerts/add-alert-comment\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.cotool.ai/api-reference/alerts/add-alert-comment#apireference\",\"headline\":\"Add alert comment\",\"name\":\"Add alert comment\",\"description\":\"Append a timeline comment to an alert. When an agent triaged the alert, a signed-in person's comment is also sent to that agent in its triage run, which answers there; the returned entry names the run under metadata.agentRun.\",\"url\":\"https://docs.cotool.ai/api-reference/alerts/add-alert-comment\",\"mainEntityOfPage\":{\"@id\":\"https://docs.cotool.ai/api-reference/alerts/add-alert-comment#webpage\"},\"dateModified\":\"2026-11-09T16:06:36.617Z\",\"publisher\":{\"@id\":\"https://docs.cotool.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.cotool.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Cotool Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Cotool Documentation","nav":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://cotool.ai/blog"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API Overview","href":"/api-reference/introduction"}]},{"group":"Endpoints","pages":[{"group":"Agent Triggers","pages":[{"title":"List agent triggers","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents/{agentId}/trigger","href":"/api-reference/agent-triggers/list-agent-triggers"},{"title":"Retrieve an agent trigger secret","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents/{agentId}/trigger/{triggerId}/secret","href":"/api-reference/agent-triggers/retrieve-an-agent-trigger-secret"},{"title":"Update trigger status","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json patch /api/agents/{agentId}/trigger/{triggerId}/status","href":"/api-reference/agent-triggers/update-trigger-status"},{"title":"Update trigger definition","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/agents/{agentId}/trigger/{triggerId}","href":"/api-reference/agent-triggers/update-trigger-definition"},{"title":"Delete trigger","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json delete /api/agents/{agentId}/trigger/{triggerId}","href":"/api-reference/agent-triggers/delete-trigger"},{"title":"Change trigger settings","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json patch /api/agents/{agentId}/trigger/{triggerId}","href":"/api-reference/agent-triggers/change-trigger-settings"},{"title":"Get webhook fields","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents/{agentId}/trigger/{source}/fields","href":"/api-reference/agent-triggers/get-webhook-fields"},{"title":"Save trigger definition","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agents/{agentId}/trigger/save","href":"/api-reference/agent-triggers/save-trigger-definition"},{"title":"Webhook trigger","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/trigger/{source}/{triggerId}","href":"/api-reference/agent-triggers/webhook-trigger"},{"title":"Create Linear agent session for an agent","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agents/{agentId}/linear/agent-session","href":"/api-reference/agent-triggers/create-linear-agent-session-for-an-agent"},{"title":"Move trigger to another agent","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agents/{agentId}/trigger/{triggerId}/move","href":"/api-reference/agent-triggers/move-trigger-to-another-agent"},{"title":"Get webhook fields for a trigger source","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/trigger-sources/{source}/fields","href":"/api-reference/agent-triggers/get-webhook-fields-for-a-trigger-source"},{"title":"Update trigger event mode","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json patch /api/agents/{agentId}/trigger/{triggerId}/event-mode","href":"/api-reference/agent-triggers/update-trigger-event-mode"},{"title":"Update trigger alert-created notification","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/agents/{agentId}/trigger/{triggerId}/alert-created-notification","href":"/api-reference/agent-triggers/update-trigger-alert-created-notification"}]},{"group":"Chat","pages":[{"title":"Get chat history","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/chat/history","href":"/api-reference/chat/get-chat-history"},{"title":"Get chat metadata","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/chat/meta","href":"/api-reference/chat/get-chat-metadata"},{"title":"List chats","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/chats","href":"/api-reference/chat/list-chats"},{"title":"Submit thumbs feedback for a chat","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/chats/{chatId}/feedback","href":"/api-reference/chat/submit-thumbs-feedback-for-a-chat"},{"title":"Delete chat","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json delete /api/chats/{chatId}","href":"/api-reference/chat/delete-chat"}]},{"group":"Agents","pages":[{"title":"Run agent asynchronously","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agents/{agentId}/run-async","href":"/api-reference/agents/run-agent-asynchronously"},{"title":"Get async run status (deprecated)","deprecated":true,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents/{agentId}/run-async/{runId}","href":"/api-reference/agents/get-async-run-status-deprecated"},{"title":"Get async run status","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents/{agentId}/run-async/{runId}/status","href":"/api-reference/agents/get-async-run-status"},{"title":"Get async run result","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents/{agentId}/run-async/{runId}/result","href":"/api-reference/agents/get-async-run-result"},{"title":"Run agent synchronously","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agents/{agentId}/run-sync","href":"/api-reference/agents/run-agent-synchronously"},{"title":"List all agents","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents","href":"/api-reference/agents/list-all-agents"},{"title":"Create a new agent","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agents","href":"/api-reference/agents/create-a-new-agent"},{"title":"Get agent","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents/{agentId}","href":"/api-reference/agents/get-agent"},{"title":"Update agent","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/agents/{agentId}","href":"/api-reference/agents/update-agent"},{"title":"Delete agent","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json delete /api/agents/{agentId}","href":"/api-reference/agents/delete-agent"},{"title":"Convert a disconnected managed agent into a manual agent","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agents/{agentId}/copy","href":"/api-reference/agents/convert-a-disconnected-managed-agent-into-a-manual-agent"},{"title":"Batch update agents","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/agents/batch","href":"/api-reference/agents/batch-update-agents"},{"title":"List agent tags","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agent-tags","href":"/api-reference/agents/list-agent-tags"},{"title":"Create agent tag","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agent-tags","href":"/api-reference/agents/create-agent-tag"},{"title":"Rename agent tag","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/agent-tags/{tagId}","href":"/api-reference/agents/rename-agent-tag"},{"title":"Delete agent tag","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json delete /api/agent-tags/{tagId}","href":"/api-reference/agents/delete-agent-tag"},{"title":"List agent templates","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agent-templates","href":"/api-reference/agents/list-agent-templates"},{"title":"List agent versions","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents/{agentId}/versions","href":"/api-reference/agents/list-agent-versions"},{"title":"Revert an agent to a previous version","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agents/{agentId}/versions/{versionId}/revert","href":"/api-reference/agents/revert-an-agent-to-a-previous-version"},{"title":"Change agent tag color","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json patch /api/agent-tags/{tagId}/color","href":"/api-reference/agents/change-agent-tag-color"},{"title":"List agent run messages","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents/{agentId}/run-async/{runId}/messages","href":"/api-reference/agents/list-agent-run-messages"},{"title":"Send a message to an agent run","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agents/{agentId}/run-async/{runId}/messages","href":"/api-reference/agents/send-a-message-to-an-agent-run"}]},{"group":"Agent Runs","pages":[{"title":"Get response-agent notification defaults","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/response-agent-notification-defaults","href":"/api-reference/agent-runs/get-response-agent-notification-defaults"},{"title":"Update response-agent notification defaults","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/response-agent-notification-defaults","href":"/api-reference/agent-runs/update-response-agent-notification-defaults"},{"title":"List agent runs/chats","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents/{agentId}/chats","href":"/api-reference/agent-runs/list-agent-runschats"},{"title":"List agent runs","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agent-runs","href":"/api-reference/agent-runs/list-agent-runs"},{"title":"List critical issues","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/critical-issues","href":"/api-reference/agent-runs/list-critical-issues"},{"title":"Dismiss critical issue","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/critical-issues/{issueId}/dismiss","href":"/api-reference/agent-runs/dismiss-critical-issue"},{"title":"Submit feedback for an agent run","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agent-runs/{runId}/feedback","href":"/api-reference/agent-runs/submit-feedback-for-an-agent-run"},{"title":"Submit feedback for multiple agent runs","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agent-runs/feedback-batch","href":"/api-reference/agent-runs/submit-feedback-for-multiple-agent-runs"},{"title":"Get detailed feedback metrics for an agent","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents/{agentId}/feedback-metrics","href":"/api-reference/agent-runs/get-detailed-feedback-metrics-for-an-agent"},{"title":"Get LLM evaluation metrics","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agents/{agentId}/llm-eval-metrics","href":"/api-reference/agent-runs/get-llm-evaluation-metrics"},{"title":"Get LLM evaluation metrics for multiple agents","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agents/llm-eval-metrics/batch","href":"/api-reference/agent-runs/get-llm-evaluation-metrics-for-multiple-agents"},{"title":"List trigger sources","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agent-runs/trigger-sources","href":"/api-reference/agent-runs/list-trigger-sources"},{"title":"List output deliveries and notifications for an agent run","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/agent-runs/{runId}/deliveries","href":"/api-reference/agent-runs/list-output-deliveries-and-notifications-for-an-agent-run"},{"title":"Resend a failed output delivery or notification","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agent-runs/{runId}/deliveries/{deliveryId}/resend","href":"/api-reference/agent-runs/resend-a-failed-output-delivery-or-notification"}]},{"group":"Alerts","pages":[{"title":"List alerts","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/alerts","href":"/api-reference/alerts/list-alerts"},{"title":"Get alert filter options","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/alerts/filter-options","href":"/api-reference/alerts/get-alert-filter-options"},{"title":"Get alert routing overview","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/alert-routing","href":"/api-reference/alerts/get-alert-routing-overview"},{"title":"Update default alert routing","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/alert-routing/defaults","href":"/api-reference/alerts/update-default-alert-routing"},{"title":"Get detection alert routing","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/detections/{id}/alert-routing","href":"/api-reference/alerts/get-detection-alert-routing"},{"title":"Get alert for run","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/alerts/for-run/{runId}","href":"/api-reference/alerts/get-alert-for-run"},{"title":"Get alert","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/alerts/{alertId}","href":"/api-reference/alerts/get-alert"},{"title":"Update alert details","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json patch /api/alerts/{alertId}","href":"/api-reference/alerts/update-alert-details"},{"title":"Get alert timeline","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/alerts/{alertId}/timeline","href":"/api-reference/alerts/get-alert-timeline"},{"title":"Get alert source payload","description":"Retrieve the stored raw source payload for an alert.","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/alerts/{alertId}/source-payloads/{sourcePayloadId}","href":"/api-reference/alerts/get-alert-source-payload"},{"title":"Add alert comment","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/alerts/{alertId}/comments","href":"/api-reference/alerts/add-alert-comment"},{"title":"Update alert status","description":"Update an alert lifecycle status and append a status-change timeline entry when the status changes. Optional feedback is appended as a comment in the same transaction. Duplicate status requires a canonical alert target.","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/alerts/{alertId}/status","href":"/api-reference/alerts/update-alert-status"},{"title":"Get escalated alert notification defaults","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/alert-escalation-notification-defaults","href":"/api-reference/alerts/get-escalated-alert-notification-defaults"},{"title":"Update escalated alert notification defaults","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/alert-escalation-notification-defaults","href":"/api-reference/alerts/update-escalated-alert-notification-defaults"},{"title":"Update alert severity","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/alerts/{alertId}/severity","href":"/api-reference/alerts/update-alert-severity"},{"title":"Start alert triage run","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/alerts/{alertId}/triage-runs","href":"/api-reference/alerts/start-alert-triage-run"},{"title":"Update Hunt Alert routing","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/alert-routing/hunt-alerts","href":"/api-reference/alerts/update-hunt-alert-routing"},{"title":"Get alert triage routes","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/alert-triage-routes","href":"/api-reference/alerts/get-alert-triage-routes"},{"title":"Replace alert triage routes","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/alert-triage-routes","href":"/api-reference/alerts/replace-alert-triage-routes"},{"title":"List alert feedback questions","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/alerts/feedback-questions","href":"/api-reference/alerts/list-alert-feedback-questions"},{"title":"Confirm an alert feedback question","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/alerts/feedback-questions/{questionId}/confirm","href":"/api-reference/alerts/confirm-an-alert-feedback-question"},{"title":"Reject an alert feedback question","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/alerts/feedback-questions/{questionId}/reject","href":"/api-reference/alerts/reject-an-alert-feedback-question"},{"title":"List alert Slack threads","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/alerts/{alertId}/slack-threads","href":"/api-reference/alerts/list-alert-slack-threads"}]},{"group":"Agents as Code","pages":[{"title":"Validate Response-Agent-as-Code YAML","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/agent-sync/validate","href":"/api-reference/agents-as-code/validate-response-agent-as-code-yaml"}]},{"group":"Artifacts","pages":[{"title":"Get artifact","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/artifacts/{artifactId}","href":"/api-reference/artifacts/get-artifact"}]},{"group":"Audit Logs","pages":[{"title":"Count audit logs","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/audit-logs/count","href":"/api-reference/audit-logs/count-audit-logs"},{"title":"Get audit-log filter options","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/audit-logs/filter-options","href":"/api-reference/audit-logs/get-audit-log-filter-options"},{"title":"Get audit-log event catalog","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/audit-logs/event-catalog","href":"/api-reference/audit-logs/get-audit-log-event-catalog"},{"title":"List audit logs","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/audit-logs","href":"/api-reference/audit-logs/list-audit-logs"},{"title":"Get audit log entry","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/audit-logs/{id}","href":"/api-reference/audit-logs/get-audit-log-entry"}]},{"group":"Users","pages":[{"title":"Get current user","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/auth/me","href":"/api-reference/users/get-current-user"},{"title":"Get current user permissions and all available permissions","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/perms","href":"/api-reference/users/get-current-user-permissions-and-all-available-permissions"},{"title":"List user organizations","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/users/organizations","href":"/api-reference/users/list-user-organizations"},{"title":"List users","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/users","href":"/api-reference/users/list-users"},{"title":"Update user","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/users/{id}","href":"/api-reference/users/update-user"},{"title":"Delete user","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json delete /api/users/{id}","href":"/api-reference/users/delete-user"}]},{"group":"Hunt","pages":[{"title":"Hunt overview","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/hunt/overview","href":"/api-reference/hunt/hunt-overview"},{"title":"List threat actors","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/hunt/actors","href":"/api-reference/hunt/list-threat-actors"},{"title":"List Threats","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/threats","href":"/api-reference/hunt/list-threats"},{"title":"Get Threat detail","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/threats/{id}","href":"/api-reference/hunt/get-threat-detail"},{"title":"Dismiss a Threat","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/threats/{id}/dismiss","href":"/api-reference/hunt/dismiss-a-threat"},{"title":"Restore a dismissed Threat","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/threats/{id}/restore","href":"/api-reference/hunt/restore-a-dismissed-threat"},{"title":"Reassess a Threat","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/threats/{id}/reassess","href":"/api-reference/hunt/reassess-a-threat"},{"title":"Dispose a gap via a threat finding","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/threats/{id}/deliverables/{deliverableId}/gap-status","href":"/api-reference/hunt/dispose-a-gap-via-a-threat-finding"},{"title":"Dispose an observability gap","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/hunt/gaps/{gapId}/status","href":"/api-reference/hunt/dispose-an-observability-gap"},{"title":"Get Hunt Alert creation settings","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/hunt/alert-creation-settings","href":"/api-reference/hunt/get-hunt-alert-creation-settings"},{"title":"Update Hunt Alert creation settings","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/hunt/alert-creation-settings","href":"/api-reference/hunt/update-hunt-alert-creation-settings"}]},{"group":"CLIs","pages":[{"title":"List CLI integrations","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/clis/list","href":"/api-reference/clis/list-cli-integrations"},{"title":"Disconnect CLI","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json delete /api/clis/{cliType}/disconnect","href":"/api-reference/clis/disconnect-cli"}]},{"group":"Detections","pages":[{"title":"Generate a SIEM query using AI","deprecated":true,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/detection-queries/generate","href":"/api-reference/detections/generate-a-siem-query-using-ai"},{"title":"List detections","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/detections","href":"/api-reference/detections/list-detections"},{"title":"List detection hits","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/detections/hits","href":"/api-reference/detections/list-detection-hits"},{"title":"List the Cotool detection library","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/detection-library","href":"/api-reference/detections/list-the-cotool-detection-library"},{"title":"Read one detection library entry","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/detection-library/{slug}","href":"/api-reference/detections/read-one-detection-library-entry"},{"title":"Add a detection library entry","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/detection-library/{slug}/add","href":"/api-reference/detections/add-a-detection-library-entry"}]},{"group":"Output Destinations","pages":[{"title":"List all output destinations","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/output-destinations","href":"/api-reference/output-destinations/list-all-output-destinations"},{"title":"Create output destination","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/output-destinations","href":"/api-reference/output-destinations/create-output-destination"},{"title":"Update output destination","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/output-destinations/{destinationId}","href":"/api-reference/output-destinations/update-output-destination"},{"title":"Delete output destination","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json delete /api/output-destinations/{destinationId}","href":"/api-reference/output-destinations/delete-output-destination"},{"title":"Send a test payload to an output destination","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/output-destinations/{destinationId}/test","href":"/api-reference/output-destinations/send-a-test-payload-to-an-output-destination"},{"title":"Send a test payload to an unsaved output destination","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/output-destinations/test","href":"/api-reference/output-destinations/send-a-test-payload-to-an-unsaved-output-destination"},{"title":"Enable or disable output destination","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/output-destinations/{destinationId}/enabled","href":"/api-reference/output-destinations/enable-or-disable-output-destination"}]},{"group":"Roles","pages":[{"title":"List roles for the current organization","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/roles","href":"/api-reference/roles/list-roles-for-the-current-organization"},{"title":"Create a role","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/roles","href":"/api-reference/roles/create-a-role"},{"title":"Get role by id","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/roles/{id}","href":"/api-reference/roles/get-role-by-id"},{"title":"Update a role","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/roles/{id}","href":"/api-reference/roles/update-a-role"},{"title":"Delete a role","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json delete /api/roles/{id}","href":"/api-reference/roles/delete-a-role"},{"title":"Get permissions for a role","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/roles/{id}/perms","href":"/api-reference/roles/get-permissions-for-a-role"},{"title":"Apply permission diff to a role","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/roles/{id}/perms","href":"/api-reference/roles/apply-permission-diff-to-a-role"}]},{"group":"MITRE Coverage","pages":[{"title":"Get MITRE ATT\u0026CK matrix with detection coverage","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/mitre/matrix","href":"/api-reference/mitre-coverage/get-mitre-att\u0026ck-matrix-with-detection-coverage"},{"title":"Get MITRE ATT\u0026CK technique labels","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/mitre/technique-labels","href":"/api-reference/mitre-coverage/get-mitre-att\u0026ck-technique-labels"}]},{"group":"Organizations","pages":[{"title":"Get organization-level activity metrics","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/org-metrics","href":"/api-reference/organizations/get-organization-level-activity-metrics"}]},{"group":"Skills","pages":[{"title":"List skills","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/skills","href":"/api-reference/skills/list-skills"},{"title":"Create skill","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/skills","href":"/api-reference/skills/create-skill"},{"title":"Get skill","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/skills/{skillId}","href":"/api-reference/skills/get-skill"},{"title":"Update skill","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/skills/{skillId}","href":"/api-reference/skills/update-skill"},{"title":"Delete skill","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json delete /api/skills/{skillId}","href":"/api-reference/skills/delete-skill"},{"title":"List agents using skill","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/skills/{skillId}/agents","href":"/api-reference/skills/list-agents-using-skill"},{"title":"List skill versions","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/skills/{skillId}/versions","href":"/api-reference/skills/list-skill-versions"},{"title":"Get skill version","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/skills/{skillId}/versions/{versionId}","href":"/api-reference/skills/get-skill-version"},{"title":"Restore a skill version","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/skills/{skillId}/versions/{versionId}/restore","href":"/api-reference/skills/restore-a-skill-version"},{"title":"Import skill","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/skills/import","href":"/api-reference/skills/import-skill"},{"title":"Export skill","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/skills/{skillId}/export","href":"/api-reference/skills/export-skill"}]},{"group":"Tools","pages":[{"title":"List tools","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/tools/list","href":"/api-reference/tools/list-tools"},{"title":"Disconnect tool","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json delete /api/tools/{toolType}/disconnect","href":"/api-reference/tools/disconnect-tool"},{"title":"Get raw tool output","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/tools/get-tool-use-raw-output","href":"/api-reference/tools/get-raw-tool-output"}]},{"group":"Threat Model","pages":[{"title":"Get threat model","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/threat-model","href":"/api-reference/threat-model/get-threat-model"},{"title":"Update threat model","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/threat-model","href":"/api-reference/threat-model/update-threat-model"},{"title":"Get structured threat model board","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/threat-model/board","href":"/api-reference/threat-model/get-structured-threat-model-board"},{"title":"Regenerate threat model","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/threat-model/regenerate","href":"/api-reference/threat-model/regenerate-threat-model"},{"title":"List threat model version history","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/threat-model/versions","href":"/api-reference/threat-model/list-threat-model-version-history"},{"title":"Get threat model version","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/threat-model/versions/{versionId}","href":"/api-reference/threat-model/get-threat-model-version"}]},{"group":"Intel","pages":[{"title":"List flattened threat-intel indicators (IOCs)","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/intel/iocs","href":"/api-reference/intel/list-flattened-threat-intel-indicators-iocs"},{"title":"List threat intelligence items","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/intel/items","href":"/api-reference/intel/list-threat-intelligence-items"},{"title":"Get specific intel item","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/intel/items/{id}","href":"/api-reference/intel/get-specific-intel-item"},{"title":"Get threat intel notification settings","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/intel/notification-settings","href":"/api-reference/intel/get-threat-intel-notification-settings"},{"title":"Update threat intel notification settings","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/intel/notification-settings","href":"/api-reference/intel/update-threat-intel-notification-settings"},{"title":"List intel sources","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/intel/sources","href":"/api-reference/intel/list-intel-sources"},{"title":"Create intel source","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/intel/sources","href":"/api-reference/intel/create-intel-source"},{"title":"Update intel source","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json put /api/intel/sources/{id}","href":"/api-reference/intel/update-intel-source"},{"title":"Delete intel source","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json delete /api/intel/sources/{id}","href":"/api-reference/intel/delete-intel-source"},{"title":"Trigger intel source sync","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json post /api/intel/sources/{id}/sync","href":"/api-reference/intel/trigger-intel-source-sync"},{"title":"Get intel feed statistics","deprecated":null,"version":null,"openapi":"https://app.cotool.ai/api/docs/openapi.json get /api/intel/stats","href":"/api-reference/intel/get-intel-feed-statistics"}]}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Add alert comment - Cotool Documentation","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}