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.
Required canonical alert identifier when marking an alert as duplicate. A target that is itself a duplicate resolves to its canonical alert, and any duplicates of the alert being marked move to that canonical alert.
Alternative explanation from the latest escalation that this close confirms. Only valid with closed_false_positive or closed_true_positive_benign; the explanation is recorded on the status change and, when no reason is given, becomes the reason.
Whether optional feedback was appended as a comment with the status transition
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/update-alert-status","slug":"/api-reference/alerts/update-alert-status","pageMetadata":{"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","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"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.\"\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":"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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"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.","tags":["Alerts"],"x-codeSamples":[{"lang":"shell","label":"cURL","source":"curl -X POST \"https://app.cotool.ai/api/alerts/:alertId/status\" \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d 'null'"}],"parameters":["2da67875-da3b-47f0-b29d-1bf8911cc7f9"],"requestBody":"35b88854-32f0-4bbc-8aea-c15c2c397e69","responses":{"200":"be7f0766-8239-494b-9674-5c877495f238","400":"6a66bc48-ab47-4cf4-bd33-3f827fcce3d7","401":"09eb0b66-b9f3-417b-82b2-d34001a0d023","403":"4e4a9acb-af44-4538-a715-45c373c4cf8f","409":"3bc879be-f414-469f-937a-d303d75ca777","500":"12ec00f5-d657-4fb1-8426-3e684b3cbcf1"},"method":"post","type":"path","servers":["53704bd6-eab2-469b-8f22-00026b9bd3c3"],"security":["184f5505-5bc1-478d-aee9-f41f36c72d98"],"path":"/api/alerts/{alertId}/status","baseUrlOptions":["https://app.cotool.ai"],"title":"Update alert status","codeSamples":[{"label":"cURL","lang":"shell","source":"curl -X POST \"https://app.cotool.ai/api/alerts/:alertId/status\" \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d 'null'"}],"requestExampleLanguages":["bash","python","javascript","java","go"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"2da67875-da3b-47f0-b29d-1bf8911cc7f9":{"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":{"status":{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate"],"description":"New alert lifecycle status. `expired` is set only by the alert inactivity job and is rejected here.","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","minLength":1,"maxLength":2000,"description":"Optional reason for the status change","uniqueKey":"reason","typeLabel":"string"},"commentBodyMarkdown":{"type":"string","minLength":1,"maxLength":20000,"description":"Optional human feedback appended to the alert timeline as a comment","uniqueKey":"commentBodyMarkdown","typeLabel":"string"},"duplicateOfAlertId":{"type":"string","description":"Required canonical alert identifier when marking an alert as duplicate. A target that is itself a duplicate resolves to its canonical alert, and any duplicates of the alert being marked move to that canonical alert.","uniqueKey":"duplicateOfAlertId","typeLabel":"string"},"confirmedAlternativeExplanationId":{"type":"string","format":"uuid","description":"Alternative explanation from the latest escalation that this close confirms. Only valid with closed_false_positive or closed_true_positive_benign; the explanation is recorded on the status change and, when no reason is given, becomes the reason.","uniqueKey":"confirmedAlternativeExplanationId","typeLabel":"string\u003cuuid>"}},"required":["status"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"reason":"\u003cstring>","commentBodyMarkdown":"\u003cstring>","duplicateOfAlertId":"\u003cstring>","confirmedAlternativeExplanationId":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"be7f0766-8239-494b-9674-5c877495f238":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"alert":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Internal alert identifier","isRequired":true,"uniqueKey":"alert.id","typeLabel":"string\u003cuuid>"},"displayId":{"type":"string","pattern":"^COT-\\d+$","description":"Human-readable alert identifier","isRequired":true,"uniqueKey":"alert.displayId","typeLabel":"string"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the alert","isRequired":true,"uniqueKey":"alert.organizationId","typeLabel":"string\u003cuuid>"},"organizationName":{"type":"string","minLength":1,"description":"URL-safe organization name used in durable alert paths","isRequired":true,"uniqueKey":"alert.organizationName","typeLabel":"string"},"title":{"type":"string","minLength":1,"description":"Human-readable alert title","isRequired":true,"uniqueKey":"alert.title","typeLabel":"string"},"description":{"oneOf":[{"type":"string","description":"Markdown summary or details for the alert","isRequired":true,"uniqueKey":"alert.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Markdown summary or details for the alert","isRequired":true,"uniqueKey":"alert.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.description","typeLabel":"string | null"},"severity":{"oneOf":[{"type":"string","enum":["low","medium","high","critical",null],"description":"Alert severity when known","isRequired":true,"uniqueKey":"alert.severity.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["low","medium","high","critical",null],"description":"Alert severity when known","isRequired":true,"uniqueKey":"alert.severity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.severity","typeLabel":"enum\u003cstring> | null"},"status":{"type":"string","enum":["open","in_progress","escalated","closed_true_positive","closed_false_positive","closed_true_positive_benign","dismissed","duplicate","expired"],"description":"Lifecycle status for a first-class alert. Terminal closed statuses include final disposition. Dismissed, duplicate, and expired alerts are archived and hidden from alert lists.","isRequired":true,"uniqueKey":"alert.status","typeLabel":"enum\u003cstring>"},"duplicateCount":{"type":"integer","minimum":0,"description":"Number of alerts archived as duplicates of this alert. A high count means the same finding keeps recurring.","isRequired":true,"uniqueKey":"alert.duplicateCount","typeLabel":"integer"},"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":"alert.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":"alert.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":"alert.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":"alert.source.triggerType.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.source.triggerType","typeLabel":"enum\u003cstring> | null"}},"required":["category","name","triggerType"],"description":"Filter-oriented source attribution for an alert.","isRequired":true,"uniqueKey":"alert.source","typeLabel":"object"},"detection":{"oneOf":[{"type":"object","properties":{"id":{"oneOf":[{"type":"string","format":"uuid","description":"Cotool detection identifier when known","isRequired":true,"uniqueKey":"alert.detection.oneOf.0.id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Cotool detection identifier when known","isRequired":true,"uniqueKey":"alert.detection.oneOf.0.id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.detection.oneOf.0.id","typeLabel":"string\u003cuuid> | null"},"agentId":{"oneOf":[{"type":"string","format":"uuid","description":"Cotool detection agent identifier when known","isRequired":true,"uniqueKey":"alert.detection.oneOf.0.agentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Cotool detection agent identifier when known","isRequired":true,"uniqueKey":"alert.detection.oneOf.0.agentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.detection.oneOf.0.agentId","typeLabel":"string\u003cuuid> | null"},"ruleId":{"oneOf":[{"type":"string","format":"uuid","description":"Platform detection rule identifier (detection_rules inventory) when an external detection was matched to a synced rule","isRequired":true,"uniqueKey":"alert.detection.oneOf.0.ruleId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Platform detection rule identifier (detection_rules inventory) when an external detection was matched to a synced rule","isRequired":true,"uniqueKey":"alert.detection.oneOf.0.ruleId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.detection.oneOf.0.ruleId","typeLabel":"string\u003cuuid> | null"},"name":{"type":"string","minLength":1,"description":"Detection display name","isRequired":true,"uniqueKey":"alert.detection.oneOf.0.name","typeLabel":"string"},"kind":{"type":"string","enum":["cotool","cotool_code","cotool_signal","external"],"description":"Whether this detection attribution is internal or extracted. `cotool_signal` alerts were promoted from a signal; their name is the signal type, and `codeDetectionId` is the streaming detection that emitted it.","isRequired":true,"uniqueKey":"alert.detection.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"codeDetectionId":{"oneOf":[{"type":"string","format":"uuid","description":"Code detection identifier when this alert came from Code Mode","uniqueKey":"alert.detection.oneOf.0.codeDetectionId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Code detection identifier when this alert came from Code Mode","uniqueKey":"alert.detection.oneOf.0.codeDetectionId.oneOf.1","typeLabel":"null"}],"uniqueKey":"alert.detection.oneOf.0.codeDetectionId","typeLabel":"string\u003cuuid> | null"},"origin":{"oneOf":[{"type":"string","enum":["user","orchestrator",null],"description":"Origin of the Cotool detection agent when known. `orchestrator` marks a detection created by the retired Auto Detect feature.","uniqueKey":"alert.detection.oneOf.0.origin.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["user","orchestrator",null],"description":"Origin of the Cotool detection agent when known. `orchestrator` marks a detection created by the retired Auto Detect feature.","uniqueKey":"alert.detection.oneOf.0.origin.oneOf.1","typeLabel":"null"}],"uniqueKey":"alert.detection.oneOf.0.origin","typeLabel":"enum\u003cstring> | null"}},"required":["id","agentId","ruleId","name","kind"],"description":"Detection attribution for the alert, when known.","isRequired":true,"uniqueKey":"alert.detection.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"oneOf":[{"type":"string","format":"uuid","description":"Cotool detection identifier when known"},{"type":"null","format":"uuid","description":"Cotool detection identifier when known"}]},"agentId":{"oneOf":[{"type":"string","format":"uuid","description":"Cotool detection agent identifier when known"},{"type":"null","format":"uuid","description":"Cotool detection agent identifier when known"}]},"codeDetectionId":{"oneOf":[{"type":"string","format":"uuid","description":"Code detection identifier when this alert came from Code Mode"},{"type":"null","format":"uuid","description":"Code detection identifier when this alert came from Code Mode"}]},"ruleId":{"oneOf":[{"type":"string","format":"uuid","description":"Platform detection rule identifier (detection_rules inventory) when an external detection was matched to a synced rule"},{"type":"null","format":"uuid","description":"Platform detection rule identifier (detection_rules inventory) when an external detection was matched to a synced rule"}]},"name":{"type":"string","minLength":1,"description":"Detection display name"},"kind":{"type":"string","enum":["cotool","cotool_code","cotool_signal","external"],"description":"Whether this detection attribution is internal or extracted. `cotool_signal` alerts were promoted from a signal; their name is the signal type, and `codeDetectionId` is the streaming detection that emitted it."},"origin":{"oneOf":[{"type":"string","enum":["user","orchestrator",null],"description":"Origin of the Cotool detection agent when known. `orchestrator` marks a detection created by the retired Auto Detect feature."},{"type":"null","enum":["user","orchestrator",null],"description":"Origin of the Cotool detection agent when known. `orchestrator` marks a detection created by the retired Auto Detect feature."}]}},"required":["id","agentId","ruleId","name","kind"],"description":"Detection attribution for the alert, when known.","isRequired":true,"uniqueKey":"alert.detection.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.detection","typeLabel":"object | null"},"createdBy":{"type":"string","enum":["agent","trigger","system"],"description":"Actor class that created the alert.","isRequired":true,"uniqueKey":"alert.createdBy","typeLabel":"enum\u003cstring>"},"originAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent that produced or owns the source flow","isRequired":true,"uniqueKey":"alert.originAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent that produced or owns the source flow","isRequired":true,"uniqueKey":"alert.originAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.originAgentId","typeLabel":"string\u003cuuid> | null"},"originTriggerId":{"oneOf":[{"type":"string","format":"uuid","description":"Trigger that created this alert, when source is an external trigger","isRequired":true,"uniqueKey":"alert.originTriggerId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Trigger that created this alert, when source is an external trigger","isRequired":true,"uniqueKey":"alert.originTriggerId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.originTriggerId","typeLabel":"string\u003cuuid> | null"},"originRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Run that minted the alert, stored as chats.id","isRequired":true,"uniqueKey":"alert.originRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Run that minted the alert, stored as chats.id","isRequired":true,"uniqueKey":"alert.originRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.originRunId","typeLabel":"string\u003cuuid> | null"},"originDetectionHitId":{"oneOf":[{"type":"string","format":"uuid","description":"Detection hit that produced this alert, when applicable","isRequired":true,"uniqueKey":"alert.originDetectionHitId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Detection hit that produced this alert, when applicable","isRequired":true,"uniqueKey":"alert.originDetectionHitId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.originDetectionHitId","typeLabel":"string\u003cuuid> | null"},"codeDetectionId":{"oneOf":[{"type":"string","format":"uuid","description":"Code detection that produced this alert, when applicable","isRequired":true,"uniqueKey":"alert.codeDetectionId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Code detection that produced this alert, when applicable","isRequired":true,"uniqueKey":"alert.codeDetectionId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.codeDetectionId","typeLabel":"string\u003cuuid> | null"},"originCodeDetectionHitId":{"oneOf":[{"type":"string","format":"uuid","description":"Code-detection hit that produced this alert, when applicable","isRequired":true,"uniqueKey":"alert.originCodeDetectionHitId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Code-detection hit that produced this alert, when applicable","isRequired":true,"uniqueKey":"alert.originCodeDetectionHitId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.originCodeDetectionHitId","typeLabel":"string\u003cuuid> | null"},"externalProvider":{"oneOf":[{"type":"string","enum":["jira","jira-automation","slack","linear","cron","webhook","email","bugcrowd","hackerone","zscaler","darktrace","seon",null],"description":"External trigger provider such as jira, linear, email, or webhook","isRequired":true,"uniqueKey":"alert.externalProvider.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["jira","jira-automation","slack","linear","cron","webhook","email","bugcrowd","hackerone","zscaler","darktrace","seon",null],"description":"External trigger provider such as jira, linear, email, or webhook","isRequired":true,"uniqueKey":"alert.externalProvider.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.externalProvider","typeLabel":"enum\u003cstring> | null"},"externalRef":{"oneOf":[{"type":"string","description":"Provider-native event, ticket, message, or alert identifier","isRequired":true,"uniqueKey":"alert.externalRef.oneOf.0","typeLabel":"string"},{"type":"null","description":"Provider-native event, ticket, message, or alert identifier","isRequired":true,"uniqueKey":"alert.externalRef.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.externalRef","typeLabel":"string | null"},"externalUrl":{"oneOf":[{"type":"string","format":"uri","description":"Provider-native URL for the originating object","isRequired":true,"uniqueKey":"alert.externalUrl.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Provider-native URL for the originating object","isRequired":true,"uniqueKey":"alert.externalUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.externalUrl","typeLabel":"string\u003curi> | null"},"assignedAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Response agent currently assigned to triage this alert","isRequired":true,"uniqueKey":"alert.assignedAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Response agent currently assigned to triage this alert","isRequired":true,"uniqueKey":"alert.assignedAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.assignedAgentId","typeLabel":"string\u003cuuid> | null"},"triageRunId":{"oneOf":[{"type":"string","format":"uuid","description":"Latest response-agent triage run for this alert, stored as chats.id","isRequired":true,"uniqueKey":"alert.triageRunId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Latest response-agent triage run for this alert, stored as chats.id","isRequired":true,"uniqueKey":"alert.triageRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.triageRunId","typeLabel":"string\u003cuuid> | null"},"dedupeKey":{"oneOf":[{"type":"string","description":"Stable key used for idempotent alert creation","isRequired":true,"uniqueKey":"alert.dedupeKey.oneOf.0","typeLabel":"string"},{"type":"null","description":"Stable key used for idempotent alert creation","isRequired":true,"uniqueKey":"alert.dedupeKey.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.dedupeKey","typeLabel":"string | null"},"createdAt":{"type":"string","description":"ISO timestamp when the alert was created","isRequired":true,"uniqueKey":"alert.createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"ISO timestamp when the alert was last updated","isRequired":true,"uniqueKey":"alert.updatedAt","typeLabel":"string"},"firstTriagedAt":{"oneOf":[{"type":"string","description":"ISO timestamp when triage first started","isRequired":true,"uniqueKey":"alert.firstTriagedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO timestamp when triage first started","isRequired":true,"uniqueKey":"alert.firstTriagedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.firstTriagedAt","typeLabel":"string | null"},"resolvedAt":{"oneOf":[{"type":"string","description":"ISO timestamp when the alert reached a terminal closed status","isRequired":true,"uniqueKey":"alert.resolvedAt.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO timestamp when the alert reached a terminal closed status","isRequired":true,"uniqueKey":"alert.resolvedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"alert.resolvedAt","typeLabel":"string | null"},"duplicateOfAlertId":{"oneOf":[{"type":"string","format":"uuid","description":"Canonical alert this alert duplicates, when status is duplicate","uniqueKey":"alert.duplicateOfAlertId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Canonical alert this alert duplicates, when status is duplicate","uniqueKey":"alert.duplicateOfAlertId.oneOf.1","typeLabel":"null"}],"uniqueKey":"alert.duplicateOfAlertId","typeLabel":"string\u003cuuid> | null"}},"required":["id","displayId","organizationId","organizationName","title","description","severity","status","duplicateCount","source","detection","createdBy","originAgentId","originTriggerId","originRunId","originDetectionHitId","codeDetectionId","originCodeDetectionHitId","externalProvider","externalRef","externalUrl","assignedAgentId","triageRunId","dedupeKey","createdAt","updatedAt","firstTriagedAt","resolvedAt"],"isRequired":true,"uniqueKey":"alert","typeLabel":"object"},"entry":{"oneOf":[{"type":"object","description":"Timeline entry created for a status transition, or null when the requested status was already set","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":"Timeline entry created for a status transition, or null when the requested status was already set","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":"Timeline entry created for a status transition, or null when the requested status was already set","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":"Timeline entry created for a status transition, or null when the requested status was already set","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":"Timeline entry created for a status transition, or null when the requested status was already set","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":"Timeline entry created for a status transition, or null when the requested status was already set","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":"Timeline entry created for a status transition, or null when the requested status was already set","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":"Timeline entry created for a status transition, or null when the requested status was already set","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":"Timeline entry created for a status transition, or null when the requested status was already set","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":"Timeline entry created for a status transition, or null when the requested status was already set","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":"Timeline entry created for a status transition, or null when the requested status was already set","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"},{"type":"null","description":"Timeline entry created for a status transition, or null when the requested status was already set","isRequired":true,"uniqueKey":"entry.oneOf.11","typeLabel":"null"}],"isRequired":true,"uniqueKey":"entry","typeLabel":"object · object · object · object · object · object · object · object · object · object · object · null"},"statusChanged":{"type":"boolean","description":"Whether the alert status changed and a timeline entry was recorded","isRequired":true,"uniqueKey":"statusChanged","typeLabel":"boolean"},"commentEntry":{"oneOf":[{"type":"object","description":"Optional feedback comment appended with the status transition","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":"commentEntry.oneOf.0.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.0.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.0.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.0.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.0.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.0.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"created","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.0.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.0.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.0.metadata.source.triggerType.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.0.metadata.source.triggerType","typeLabel":"enum\u003cstring> | null"}},"required":["category","name","triggerType"],"description":"Filter-oriented source attribution for an alert.","uniqueKey":"commentEntry.oneOf.0.metadata.source","typeLabel":"object"},"originDetectionHitId":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"commentEntry.oneOf.0.metadata.originDetectionHitId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"commentEntry.oneOf.0.metadata.originDetectionHitId.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.0.metadata.originDetectionHitId","typeLabel":"string\u003cuuid> | null"},"originTriggerId":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"commentEntry.oneOf.0.metadata.originTriggerId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"commentEntry.oneOf.0.metadata.originTriggerId.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.0.metadata.originTriggerId","typeLabel":"string\u003cuuid> | null"},"sourcePayloadId":{"type":"string","format":"uuid","uniqueKey":"commentEntry.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":"commentEntry.oneOf.0.metadata.notifications.items.[INDEX].destinationId","typeLabel":"string\u003cuuid>"},"destinationType":{"type":"string","enum":["webhook","teams","slack","pagerduty","linear","tines","incidentio"],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.0.metadata.notifications.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.0.metadata.notifications.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.0.metadata.notifications.items.[INDEX].externalId","typeLabel":"string"},"sentAt":{"type":"string","format":"date-time","description":"When the notification was sent","isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.0.metadata.notifications.items.[INDEX].routeId","typeLabel":"string\u003cuuid>"},"routeName":{"type":"string","description":"Name of the escalation route when it was sent","uniqueKey":"commentEntry.oneOf.0.metadata.notifications.items.[INDEX].routeName","typeLabel":"string"}},"required":["destinationId","destinationType","destinationName","label","url","externalId","sentAt"],"uniqueKey":"commentEntry.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":"commentEntry.oneOf.0.metadata.notifications","typeLabel":"object[]"}},"additionalProperties":true,"description":"Metadata for alert creation timeline entries.","isRequired":true,"uniqueKey":"commentEntry.oneOf.0.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.0.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.0.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.0.actorAgentName","typeLabel":"string | null"}},"uniqueKey":"commentEntry.oneOf.0","typeLabel":"object"},{"type":"object","description":"Optional feedback comment appended with the status transition","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":"commentEntry.oneOf.1.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.1.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.1.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.1.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.1.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.1.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"comment","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.1.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.1.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.1.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"slackSource":{"oneOf":[{}],"uniqueKey":"commentEntry.oneOf.1.metadata.slackSource","typeLabel":"any"},"agentRun":{"description":"The triage run this comment was sent to, when it was, as `{ agentId, runId }`","uniqueKey":"commentEntry.oneOf.1.metadata.agentRun","typeLabel":"any"}},"additionalProperties":true,"description":"Metadata for alert comment timeline entries.","isRequired":true,"uniqueKey":"commentEntry.oneOf.1.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.1.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.1.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.1.actorAgentName","typeLabel":"string | null"}},"uniqueKey":"commentEntry.oneOf.1","typeLabel":"object"},{"type":"object","description":"Optional feedback comment appended with the status transition","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":"commentEntry.oneOf.2.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.2.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.2.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.2.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.2.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.2.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"status_change","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.2.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.2.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.2.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"reason":{"oneOf":[{"type":"string","uniqueKey":"commentEntry.oneOf.2.metadata.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"commentEntry.oneOf.2.metadata.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.2.metadata.reason","typeLabel":"string | null"},"agentId":{"type":"string","format":"uuid","uniqueKey":"commentEntry.oneOf.2.metadata.agentId","typeLabel":"string\u003cuuid>"},"runId":{"type":"string","format":"uuid","uniqueKey":"commentEntry.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":"commentEntry.oneOf.2.metadata.outcome","typeLabel":"enum\u003cstring>"},"duplicateOfAlertId":{"type":"string","format":"uuid","uniqueKey":"commentEntry.oneOf.2.metadata.duplicateOfAlertId","typeLabel":"string\u003cuuid>"},"duplicateOfDisplayId":{"type":"string","pattern":"^COT-\\d+$","description":"Human-readable alert identifier","uniqueKey":"commentEntry.oneOf.2.metadata.duplicateOfDisplayId","typeLabel":"string"},"duplicateOfTitle":{"type":"string","minLength":1,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.2.metadata.notifications.items.[INDEX].destinationId","typeLabel":"string\u003cuuid>"},"destinationType":{"type":"string","enum":["webhook","teams","slack","pagerduty","linear","tines","incidentio"],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.2.metadata.notifications.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.2.metadata.notifications.items.[INDEX].url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.2.metadata.notifications.items.[INDEX].externalId","typeLabel":"string"},"sentAt":{"type":"string","format":"date-time","description":"When the notification was sent","isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.2.metadata.notifications.items.[INDEX].routeId","typeLabel":"string\u003cuuid>"},"routeName":{"type":"string","description":"Name of the escalation route when it was sent","uniqueKey":"commentEntry.oneOf.2.metadata.notifications.items.[INDEX].routeName","typeLabel":"string"}},"required":["destinationId","destinationType","destinationName","label","url","externalId","sentAt"],"uniqueKey":"commentEntry.oneOf.2.metadata.notifications.items.[INDEX]","typeLabel":"object"},"description":"For an escalation, where its notifications landed, as the delivery jobs send them","uniqueKey":"commentEntry.oneOf.2.metadata.notifications","typeLabel":"object[]"},"alternativeExplanations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.2.metadata.alternativeExplanations.items.[INDEX].basis","typeLabel":"string"}},"required":["id","statement","disposition","basis"],"uniqueKey":"commentEntry.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":"commentEntry.oneOf.2.metadata.alternativeExplanations","typeLabel":"object[]"},"confirmedAlternativeExplanation":{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.2.metadata.confirmedAlternativeExplanation.basis","typeLabel":"string"},"escalationTimelineEntryId":{"type":"string","format":"uuid","description":"The escalation entry the explanation was offered on","isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.2.metadata.nextSteps","typeLabel":"any"}},"additionalProperties":true,"description":"Metadata for alert status-change timeline entries.","isRequired":true,"uniqueKey":"commentEntry.oneOf.2.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.2.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.2.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.2.actorAgentName","typeLabel":"string | null"}},"uniqueKey":"commentEntry.oneOf.2","typeLabel":"object"},{"type":"object","description":"Optional feedback comment appended with the status transition","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":"commentEntry.oneOf.3.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.3.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.3.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.3.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.3.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.3.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"title_change","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.3.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.3.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.3.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"beforeTitle":{"oneOf":[{"type":"string","uniqueKey":"commentEntry.oneOf.3.metadata.beforeTitle.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"commentEntry.oneOf.3.metadata.beforeTitle.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.3.metadata.beforeTitle","typeLabel":"string | null"},"afterTitle":{"oneOf":[{"type":"string","uniqueKey":"commentEntry.oneOf.3.metadata.afterTitle.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"commentEntry.oneOf.3.metadata.afterTitle.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.3.metadata.afterTitle","typeLabel":"string | null"}},"additionalProperties":true,"description":"Metadata for alert title-change timeline entries.","isRequired":true,"uniqueKey":"commentEntry.oneOf.3.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.3.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.3.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.3.actorAgentName","typeLabel":"string | null"}},"uniqueKey":"commentEntry.oneOf.3","typeLabel":"object"},{"type":"object","description":"Optional feedback comment appended with the status transition","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":"commentEntry.oneOf.4.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.4.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.4.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.4.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.4.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.4.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"description_change","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.4.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.4.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.4.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"beforeDescription":{"oneOf":[{"type":"string","uniqueKey":"commentEntry.oneOf.4.metadata.beforeDescription.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"commentEntry.oneOf.4.metadata.beforeDescription.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.4.metadata.beforeDescription","typeLabel":"string | null"},"afterDescription":{"oneOf":[{"type":"string","uniqueKey":"commentEntry.oneOf.4.metadata.afterDescription.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"commentEntry.oneOf.4.metadata.afterDescription.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.4.metadata.afterDescription","typeLabel":"string | null"}},"additionalProperties":true,"description":"Metadata for alert description-change timeline entries.","isRequired":true,"uniqueKey":"commentEntry.oneOf.4.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.4.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.4.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.4.actorAgentName","typeLabel":"string | null"}},"uniqueKey":"commentEntry.oneOf.4","typeLabel":"object"},{"type":"object","description":"Optional feedback comment appended with the status transition","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":"commentEntry.oneOf.5.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.5.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.5.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.5.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.5.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.5.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"severity_change","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.5.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.5.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.5.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"beforeSeverity":{"oneOf":[{"type":"string","enum":["low","medium","high","critical",null],"uniqueKey":"commentEntry.oneOf.5.metadata.beforeSeverity.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["low","medium","high","critical",null],"uniqueKey":"commentEntry.oneOf.5.metadata.beforeSeverity.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.5.metadata.beforeSeverity","typeLabel":"enum\u003cstring> | null"},"afterSeverity":{"oneOf":[{"type":"string","enum":["low","medium","high","critical",null],"uniqueKey":"commentEntry.oneOf.5.metadata.afterSeverity.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["low","medium","high","critical",null],"uniqueKey":"commentEntry.oneOf.5.metadata.afterSeverity.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.5.metadata.afterSeverity","typeLabel":"enum\u003cstring> | null"},"reason":{"oneOf":[{"type":"string","uniqueKey":"commentEntry.oneOf.5.metadata.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"commentEntry.oneOf.5.metadata.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.5.metadata.reason","typeLabel":"string | null"}},"additionalProperties":true,"description":"Metadata for alert severity-change timeline entries.","isRequired":true,"uniqueKey":"commentEntry.oneOf.5.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.5.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.5.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.5.actorAgentName","typeLabel":"string | null"}},"uniqueKey":"commentEntry.oneOf.5","typeLabel":"object"},{"type":"object","description":"Optional feedback comment appended with the status transition","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":"commentEntry.oneOf.6.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.6.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.6.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.6.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.6.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.6.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"assignment_change","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.6.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.6.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.6.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"reason":{"oneOf":[{"type":"string","uniqueKey":"commentEntry.oneOf.6.metadata.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"commentEntry.oneOf.6.metadata.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.6.metadata.reason","typeLabel":"string | null"},"assignedAgentId":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"commentEntry.oneOf.6.metadata.assignedAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"commentEntry.oneOf.6.metadata.assignedAgentId.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.6.metadata.assignedAgentId","typeLabel":"string\u003cuuid> | null"},"runId":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"commentEntry.oneOf.6.metadata.runId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"commentEntry.oneOf.6.metadata.runId.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.6.metadata.runId","typeLabel":"string\u003cuuid> | null"}},"additionalProperties":true,"description":"Metadata for alert assignment-change timeline entries.","isRequired":true,"uniqueKey":"commentEntry.oneOf.6.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.6.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.6.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.6.actorAgentName","typeLabel":"string | null"}},"uniqueKey":"commentEntry.oneOf.6","typeLabel":"object"},{"type":"object","description":"Optional feedback comment appended with the status transition","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":"commentEntry.oneOf.7.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.7.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.7.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.7.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.7.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.7.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"triage_run","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.7.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.7.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.7.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"reason":{"oneOf":[{"type":"string","uniqueKey":"commentEntry.oneOf.7.metadata.reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"commentEntry.oneOf.7.metadata.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.7.metadata.reason","typeLabel":"string | null"},"agentId":{"type":"string","format":"uuid","uniqueKey":"commentEntry.oneOf.7.metadata.agentId","typeLabel":"string\u003cuuid>"},"runId":{"type":"string","format":"uuid","uniqueKey":"commentEntry.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":"commentEntry.oneOf.7.metadata.outcome","typeLabel":"enum\u003cstring>"}},"additionalProperties":true,"description":"Metadata for alert triage-run timeline entries.","isRequired":true,"uniqueKey":"commentEntry.oneOf.7.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.7.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.7.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.7.actorAgentName","typeLabel":"string | null"}},"uniqueKey":"commentEntry.oneOf.7","typeLabel":"object"},{"type":"object","description":"Optional feedback comment appended with the status transition","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":"commentEntry.oneOf.8.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.8.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.8.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.8.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.8.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.8.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"duplicate_linked","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.8.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.8.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.8.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"duplicateAlertId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.metadata.duplicateAlertId","typeLabel":"string\u003cuuid>"},"duplicateAlertDisplayId":{"type":"string","pattern":"^COT-\\d+$","description":"Human-readable alert identifier","isRequired":true,"uniqueKey":"commentEntry.oneOf.8.metadata.duplicateAlertDisplayId","typeLabel":"string"},"duplicateAlertTitle":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.8.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.8.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.8.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.8.actorAgentName","typeLabel":"string | null"}},"uniqueKey":"commentEntry.oneOf.8","typeLabel":"object"},{"type":"object","description":"Optional feedback comment appended with the status transition","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":"commentEntry.oneOf.9.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.9.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.9.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.9.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.9.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.9.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"external_event","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.9.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.9.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.9.metadata.slackThread.teamId","typeLabel":"string"},"channelId":{"type":"string","pattern":"^[CG][A-Z0-9]+$","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.metadata.slackThread.channelId","typeLabel":"string"},"threadTs":{"type":"string","pattern":"^\\d+\\.\\d+$","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.metadata.slackThread.threadTs","typeLabel":"string"},"url":{"oneOf":[{"type":"string","format":"uri","description":"Link to the thread root","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.metadata.slackThread.url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Link to the thread root","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.metadata.slackThread.url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.9.metadata.slackThread.replies.items.[INDEX].userId","typeLabel":"string"},"text":{"type":"string","minLength":1,"maxLength":4000,"isRequired":true,"uniqueKey":"commentEntry.oneOf.9.metadata.slackThread.replies.items.[INDEX].text","typeLabel":"string"},"userName":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"commentEntry.oneOf.9.metadata.slackThread.replies.items.[INDEX].userName","typeLabel":"string"},"textTruncated":{"type":"boolean","uniqueKey":"commentEntry.oneOf.9.metadata.slackThread.replies.items.[INDEX].textTruncated","typeLabel":"boolean"},"permalink":{"type":"string","format":"uri","uniqueKey":"commentEntry.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":"commentEntry.oneOf.9.metadata.slackThread.replies.items.[INDEX].editedAt","typeLabel":"string\u003cdate-time>"}},"required":["messageTs","userId","text"],"uniqueKey":"commentEntry.oneOf.9.metadata.slackThread.replies.items.[INDEX]","typeLabel":"object"},"maxItems":200,"description":"Replies oldest first, by Slack message timestamp","isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.9.metadata.slackThread","typeLabel":"object"}},"additionalProperties":true,"description":"Metadata for externally mirrored alert timeline entries.","isRequired":true,"uniqueKey":"commentEntry.oneOf.9.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.9.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.9.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.9.actorAgentName","typeLabel":"string | null"}},"uniqueKey":"commentEntry.oneOf.9","typeLabel":"object"},{"type":"object","description":"Optional feedback comment appended with the status transition","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":"commentEntry.oneOf.10.id","typeLabel":"string\u003cuuid>"},"organizationId":{"type":"string","format":"uuid","description":"Organization that owns the timeline entry","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.organizationId","typeLabel":"string\u003cuuid>"},"alertId":{"type":"string","format":"uuid","description":"Alert this entry belongs to","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.alertId","typeLabel":"string\u003cuuid>"},"createdAt":{"type":"string","description":"ISO timestamp when the entry was created","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.createdAt","typeLabel":"string"},"actorType":{"type":"string","enum":["human","agent","system"],"description":"Actor class responsible for a timeline entry.","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.actorType","typeLabel":"enum\u003cstring>"},"actorUserId":{"oneOf":[{"type":"string","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.actorUserId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Human actor user id, when actorType is human","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.actorUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.10.actorUserId","typeLabel":"string\u003cuuid> | null"},"actorAgentId":{"oneOf":[{"type":"string","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.actorAgentId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Agent actor id, when actorType is agent","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.actorAgentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.10.actorRunId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.10.actorUserName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for a human actor, hydrated for rendering","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.actorUserName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.10.actorUserImageUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.10.actorUserImageUrl","typeLabel":"string | null"},"kind":{"type":"string","const":"detection_tuned","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.kind","typeLabel":"string"},"bodyMarkdown":{"oneOf":[{"type":"string","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.bodyMarkdown.oneOf.0","typeLabel":"string"},{"type":"null","description":"Timeline body, when this entry has prose content","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.bodyMarkdown.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.10.beforeStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.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":"commentEntry.oneOf.10.afterStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.10.afterStatus","typeLabel":"enum\u003cstring> | null"},"metadata":{"type":"object","properties":{"detectionId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.metadata.detectionId","typeLabel":"string\u003cuuid>"},"detectionName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.metadata.detectionName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.metadata.detectionName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.10.metadata.detectionName","typeLabel":"string | null"},"versionId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.metadata.versionId","typeLabel":"string\u003cuuid>"},"version":{"oneOf":[{"type":"integer","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"commentEntry.oneOf.10.metadata.version.oneOf.0","typeLabel":"integer"},{"type":"null","exclusiveMinimum":0,"isRequired":true,"uniqueKey":"commentEntry.oneOf.10.metadata.version.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.oneOf.10.metadata.version","typeLabel":"integer | null"},"proposalId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.metadata.proposalId","typeLabel":"string\u003cuuid>"},"chatId":{"oneOf":[{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.metadata.chatId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.metadata.chatId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.10.metadata.role","typeLabel":"enum\u003cstring>"},"windowStart":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"commentEntry.oneOf.10.metadata.windowStart","typeLabel":"string\u003cdate-time>"},"windowEnd":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"commentEntry.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":"commentEntry.oneOf.10.metadata","typeLabel":"object"},"actorAgentName":{"oneOf":[{"type":"string","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.10.actorAgentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Resolved display name for an agent actor or referenced assigned agent","uniqueKey":"commentEntry.oneOf.10.actorAgentName.oneOf.1","typeLabel":"null"}],"uniqueKey":"commentEntry.oneOf.10.actorAgentName","typeLabel":"string | null"}},"uniqueKey":"commentEntry.oneOf.10","typeLabel":"object"}],"uniqueKey":"commentEntry","typeLabel":"object"},"commentAdded":{"type":"boolean","description":"Whether optional feedback was appended as a comment with the status transition","uniqueKey":"commentAdded","typeLabel":"boolean"}},"required":["alert","entry","statusChanged"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"alert":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","displayId":"\u003cstring>","organizationId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","organizationName":"\u003cstring>","title":"\u003cstring>","description":"\u003cstring>","severity":"low","status":"open","duplicateCount":1,"source":{"category":"detection","name":"cotool_detection","triggerType":"jira"},"detection":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","agentId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","ruleId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>","kind":"cotool","codeDetectionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","origin":"user"},"createdBy":"agent","originAgentId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","originTriggerId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","originRunId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","originDetectionHitId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","codeDetectionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","originCodeDetectionHitId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","externalProvider":"jira","externalRef":"\u003cstring>","externalUrl":"\u003cstring>","assignedAgentId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","triageRunId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","dedupeKey":"\u003cstring>","createdAt":"\u003cstring>","updatedAt":"\u003cstring>","firstTriagedAt":"\u003cstring>","resolvedAt":"\u003cstring>","duplicateOfAlertId":"3c90c3cc-0d44-4b50-8888-8dd25736052a"},"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>"},"statusChanged":true,"commentEntry":{"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>"},"commentAdded":true}}},"exampleType":"generated"}},"exampleType":"generated"},"6a66bc48-ab47-4cf4-bd33-3f827fcce3d7":{"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"},"09eb0b66-b9f3-417b-82b2-d34001a0d023":{"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"},"4e4a9acb-af44-4538-a715-45c373c4cf8f":{"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"},"3bc879be-f414-469f-937a-d303d75ca777":{"description":"The alert cannot be reopened because a newer open hit exists for the same entity.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","const":"CODE_DETECTION_HIT_OPEN_CONFLICT","isRequired":true,"uniqueKey":"code","typeLabel":"string"}},"required":["error","code"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"CODE_DETECTION_HIT_OPEN_CONFLICT"}}},"exampleType":"generated"}},"exampleType":"generated"},"12ec00f5-d657-4fb1-8426-3e684b3cbcf1":{"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":"Update alert status - Cotool Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T16:06:36.630Z","originalFileLocation":"api-reference/alerts/update-alert-status.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=\"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.\">\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=\"Update alert status - Cotool Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"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.\">\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/update-alert-status\">\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=Update+alert+status\u0026amp;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+trans\u0026amp;theme=9cf48588ea89a0ad039b77ef\u0026amp;signature=a03a122c364278171262a8dca735171679156c53e94a0de6706c2dcd6abf2532\">\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=\"Update alert status - Cotool Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cotool-bcb49c92.mintlify.site/_mintlify/api/og/v2?division=Alerts\u0026amp;title=Update+alert+status\u0026amp;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+trans\u0026amp;theme=9cf48588ea89a0ad039b77ef\u0026amp;signature=a03a122c364278171262a8dca735171679156c53e94a0de6706c2dcd6abf2532\">\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/update-alert-status\">\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/update-alert-status.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/update-alert-status#webpage\",\"url\":\"https://docs.cotool.ai/api-reference/alerts/update-alert-status\",\"name\":\"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.\",\"dateModified\":\"2026-11-09T16:06:36.630Z\",\"isPartOf\":{\"@id\":\"https://docs.cotool.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.cotool.ai/api-reference/alerts/update-alert-status#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.cotool.ai/api-reference/alerts/update-alert-status#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\":\"Update alert status\",\"item\":\"https://docs.cotool.ai/api-reference/alerts/update-alert-status\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.cotool.ai/api-reference/alerts/update-alert-status#apireference\",\"headline\":\"Update alert status\",\"name\":\"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.\",\"url\":\"https://docs.cotool.ai/api-reference/alerts/update-alert-status\",\"mainEntityOfPage\":{\"@id\":\"https://docs.cotool.ai/api-reference/alerts/update-alert-status#webpage\"},\"dateModified\":\"2026-11-09T16:06:36.630Z\",\"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","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","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"},{"title":"Update alert status","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","description":"Get the organization-wide destinations notified when an alert moves into escalated status.","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":"Update alert status - 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"]}