Annotate incident
/v1/monitors/{monitorId}/incidents/{incidentId}/annotations Add a note to an incident, such as what you found or did. Notes can't be edited later.
- Authentication
- SignalSitter API credential or Clerk session JWT · REST guide
- Operation ID
annotateMonitorIncident
Parameters
Section titled “Parameters”Path
monitorIdMonitorIdRequiredImmutable public monitor identifier, normally sufficient within the verified organization.
- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
incidentIdIncidentIdRequiredOpaque incident identifier from a prior incident read.
- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
Query
jurisdictionMonitorJurisdictionOptional disambiguator used only when this organization owns the same monitor ID in more than one jurisdiction.
"unrestricted""eu""us""fedramp"
Headers
X-Correlation-IDCorrelationIdOptional caller correlation identifier propagated to the response.
- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9._:/-]*$
Idempotency-KeystringRequiredOpaque retry key retained for the public idempotency window.
- Minimum length
1 - Maximum length
255 - Pattern
^[A-Za-z0-9][A-Za-z0-9._~:/+-]*$
Request body
Section titled “Request body”Required
IncidentAnnotateRequestnotestringRequired- Minimum length
1 - Maximum length
1024 - Pattern
^[^\u0000-\u001F\u007F]*$
Responses
Section titled “Responses”IncidentControlResult- The returned control event must belong to the returned incident.
- Nested incident and actor refinements apply to the embedded incident and audit record.
eventobjectRequired7 properties
dataobjectRequired14 properties
auditobject7 properties
actionstringRequired- Minimum length
1 - Maximum length
128 - Pattern
^[a-z][a-z0-9_]*(?:\.[a-z][a-z0-9_]*)+$
actorobjectRequired3 properties
displaystring- Minimum length
1 - Maximum length
160 - Pattern
^[^\u0000-\u001F\u007F]*$
idstring- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
kindany ofRequiredOption 1
Option 2
correlationIdstringRequired- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9._:/-]*$
idstringRequired- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
occurredAtstringRequired- Format
date-time - Pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
outcomestringRequired"succeeded""denied""failed"
targetobjectRequired2 properties
idstringRequired- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
typestringRequired- Minimum length
1 - Maximum length
64 - Pattern
^[a-z][a-z0-9_]*$
callbackIntentIdstring- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
configurationVersioninteger- Minimum
0 - Maximum
9007199254740991
deadlineAtstring- Format
date-time - Pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
detectionDelayMsinteger- Minimum
0 - Maximum
9007199254740991
expectedAtstring- Format
date-time - Pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
notestring- Minimum length
1 - Maximum length
1024 - Pattern
^[^\u0000-\u001F\u007F]*$
notificationstring"requested""suppressed_by_cooldown""suppressed_by_recovery_hysteresis"
observationIdstring- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
reasonstring"deadline_missed""recovery_lapsed""beat_accepted""operator_resolved""heartbeat_disabled""anomaly_confirmed""anomaly_sustained""anomaly_cleared""new_normal_accepted"
recoveryobject2 properties
confirmedBeatsintegerRequired- Minimum
0 - Maximum
10
requiredBeatsintegerRequired- Minimum
1 - Maximum
10
sourceRequestIdstring- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9._:/-]*$
versionnumberRequired1
violationFamilystring"missing_beat""numeric_anomaly"
idstringRequired- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
incidentIdstringRequired- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
occurredAtstringRequired- Format
date-time - Pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
sequenceintegerRequired- Greater than
0 - Maximum
9007199254740991
stateAfterstringRequired"open""recovering""recovered""resolved"
typestringRequired"detected""confirmed""notification_requested""acknowledged""annotated""recovery_started""recovered""resolved""rebaselined""archived"
incidentobjectRequired15 properties
acknowledgementobject2 properties
acknowledgedAtstringRequired- Format
date-time - Pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
actorobjectRequired3 properties
displaystring- Minimum length
1 - Maximum length
160 - Pattern
^[^\u0000-\u001F\u007F]*$
idstring- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
kindany ofRequiredOption 1
Option 2
archivedAtstring- Format
date-time - Pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
closedAtstring- Format
date-time - Pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
confirmedAtstring- Format
date-time - Pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
detectedAtstringRequired- Format
date-time - Pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
idstringRequired- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
jurisdictionstringRequired"unrestricted""eu""us""fedramp"
monitorKeystringRequiredDeprecated V1 response spelling for the canonical monitorId; paths, request inputs, and SDK method parameters use monitorId.
- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
notificationstringRequired"requested""suppressed_by_cooldown""suppressed_by_recovery_hysteresis"
openedAtstringRequired- Format
date-time - Pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
recoveryobjectRequired2 properties
confirmedBeatsintegerRequired- Minimum
0 - Maximum
10
requiredBeatsintegerRequired- Minimum
1 - Maximum
10
statestringRequired"open""recovering""recovered""resolved"
stateMachineVersionintegerRequired- Greater than
0 - Maximum
9007199254740991
updatedAtstringRequired- Format
date-time - Pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$
violationFamilystringRequired"missing_beat""numeric_anomaly"
replayedbooleanRequired2 response headers
X-Correlation-IDCorrelationIdRequiredCorrelation identifier shared by related operations.
- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9._:/-]*$
X-Request-IDRequestIdRequiredRequest identifier for this response.
- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9._:/-]*$
- 400Invalid request
- 401Authentication required
- 403Permission denied
- 404Resource not found
- 409Idempotency key conflict
- 413Request payload too large
- 415Unsupported request media type
- 429Authentication rate limited
- 500Internal server error
- 503Service temporarily unavailable
Error bodyProblemDetails
ProblemDetails- URI references must pass full URI-reference parsing, including percent escapes, authority brackets, and scheme syntax.
- Documentation links must parse as credential-free HTTPS URLs or root-relative paths.
- retryAfterSeconds is allowed only when retryable is true.
codestringRequired- Minimum length
1 - Maximum length
128 - Pattern
^signalsitter\.[a-z][a-z0-9]*(?:[._][a-z0-9]+)*$
correlationIdstringRequired- Minimum length
1 - Maximum length
128 - Pattern
^[A-Za-z0-9][A-Za-z0-9._:/-]*$
detailstringRequired- Minimum length
1 - Maximum length
1024 - Pattern
^[^\u0000-\u001F\u007F]*$
fieldErrorsarray of object- Maximum items
32
Each item
3 properties
codestringRequired- Minimum length
1 - Maximum length
128 - Pattern
^[a-z][a-z0-9_]*$
messagestringRequired- Minimum length
1 - Maximum length
512 - Pattern
^[^\u0000-\u001F\u007F]*$
pathstringRequired- Maximum length
256
All of
Part 1
Part 2
instancestring- Minimum length
1 - Maximum length
512 - Pattern
^[^\s\u0000-\u001F\u007F]+$
limitobject7 properties
attemptedinteger- Minimum
0 - Maximum
9007199254740991
currentinteger- Minimum
0 - Maximum
9007199254740991
dimensionstringRequired"active_monitors""beat_cadence""minimum_interval_seconds""measurements_per_observation""stored_observations""observation_retention_seconds""callback_endpoints""detector_feature""api_requests_per_minute""mcp_requests_per_minute""service_state""entitlement_lease"
limitinteger- Minimum
0 - Maximum
9007199254740991
planobject3 properties
idstringRequired"free""builder""smart""scale"
namestringRequired- Minimum length
1 - Maximum length
64 - Pattern
^[^\p{Cc}\p{Cf}\p{Zl}\p{Zp}]+$
versionintegerRequired- Greater than
0 - Maximum
9007199254740991
remediationstringRequired"upgrade_plan""reduce_usage""increase_interval""remove_feature""retry_after_refresh""contact_support""export_data"
serviceStatestring"active""payment_grace""abuse_suspended""canceled""deleting"
remediationarray of object- Maximum items
8
Each item
3 properties
codestringRequired- Minimum length
1 - Maximum length
128 - Pattern
^[a-z][a-z0-9_]*$
documentationstring- Minimum length
1 - Maximum length
512
All of
Part 1
Part 2
messagestringRequired- Minimum length
1 - Maximum length
512 - Pattern
^[^\u0000-\u001F\u007F]*$
retryablebooleanRequiredretryAfterSecondsinteger- Greater than
0 - Maximum
86400
statusintegerRequired- Minimum
400 - Maximum
599
titlestringRequired- Minimum length
1 - Maximum length
160 - Pattern
^[^\u0000-\u001F\u007F]*$
typestringRequired- Minimum length
1 - Maximum length
512 - Pattern
^[^\s\u0000-\u001F\u007F]+$
Operation contract
Section titled “Operation contract”The operation exactly as it appears in the generated contract. References resolve within the OpenAPI document.
Show raw OpenAPI for annotateMonitorIncident
{ "operationId": "annotateMonitorIncident", "parameters": [ { "description": "Optional caller correlation identifier propagated to the response.", "in": "header", "name": "X-Correlation-ID", "required": false, "schema": { "$ref": "#/components/schemas/CorrelationId" } }, { "description": "Immutable public monitor identifier, normally sufficient within the verified organization.", "in": "path", "name": "monitorId", "required": true, "schema": { "$ref": "#/components/schemas/MonitorId" } }, { "description": "Optional disambiguator used only when this organization owns the same monitor ID in more than one jurisdiction.", "in": "query", "name": "jurisdiction", "required": false, "schema": { "$ref": "#/components/schemas/MonitorJurisdiction" } }, { "description": "Opaque incident identifier from a prior incident read.", "in": "path", "name": "incidentId", "required": true, "schema": { "$ref": "#/components/schemas/IncidentId" } }, { "description": "Opaque retry key retained for the public idempotency window.", "in": "header", "name": "Idempotency-Key", "required": true, "schema": { "maxLength": 255, "minLength": 1, "pattern": "^[A-Za-z0-9][A-Za-z0-9._~:/+-]*$", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IncidentAnnotateRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/IncidentControlResult" } } }, "description": "Successful response", "headers": { "X-Correlation-ID": { "description": "Correlation identifier shared by related operations.", "required": true, "schema": { "$ref": "#/components/schemas/CorrelationId" } }, "X-Request-ID": { "description": "Request identifier for this response.", "required": true, "schema": { "$ref": "#/components/schemas/RequestId" } } } }, "400": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } }, "description": "Invalid request", "headers": { "X-Correlation-ID": { "description": "Correlation identifier shared by related operations.", "required": true, "schema": { "$ref": "#/components/schemas/CorrelationId" } }, "X-Request-ID": { "description": "Request identifier for this response.", "required": true, "schema": { "$ref": "#/components/schemas/RequestId" } } } }, "401": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } }, "description": "Authentication required", "headers": { "X-Correlation-ID": { "description": "Correlation identifier shared by related operations.", "required": true, "schema": { "$ref": "#/components/schemas/CorrelationId" } }, "X-Request-ID": { "description": "Request identifier for this response.", "required": true, "schema": { "$ref": "#/components/schemas/RequestId" } } } }, "403": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } }, "description": "Permission denied", "headers": { "X-Correlation-ID": { "description": "Correlation identifier shared by related operations.", "required": true, "schema": { "$ref": "#/components/schemas/CorrelationId" } }, "X-Request-ID": { "description": "Request identifier for this response.", "required": true, "schema": { "$ref": "#/components/schemas/RequestId" } } } }, "404": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } }, "description": "Resource not found", "headers": { "X-Correlation-ID": { "description": "Correlation identifier shared by related operations.", "required": true, "schema": { "$ref": "#/components/schemas/CorrelationId" } }, "X-Request-ID": { "description": "Request identifier for this response.", "required": true, "schema": { "$ref": "#/components/schemas/RequestId" } } } }, "409": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } }, "description": "Idempotency key conflict", "headers": { "X-Correlation-ID": { "description": "Correlation identifier shared by related operations.", "required": true, "schema": { "$ref": "#/components/schemas/CorrelationId" } }, "X-Request-ID": { "description": "Request identifier for this response.", "required": true, "schema": { "$ref": "#/components/schemas/RequestId" } } } }, "413": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } }, "description": "Request payload too large", "headers": { "X-Correlation-ID": { "description": "Correlation identifier shared by related operations.", "required": true, "schema": { "$ref": "#/components/schemas/CorrelationId" } }, "X-Request-ID": { "description": "Request identifier for this response.", "required": true, "schema": { "$ref": "#/components/schemas/RequestId" } } } }, "415": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } }, "description": "Unsupported request media type", "headers": { "X-Correlation-ID": { "description": "Correlation identifier shared by related operations.", "required": true, "schema": { "$ref": "#/components/schemas/CorrelationId" } }, "X-Request-ID": { "description": "Request identifier for this response.", "required": true, "schema": { "$ref": "#/components/schemas/RequestId" } } } }, "429": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } }, "description": "Authentication rate limited", "headers": { "Retry-After": { "description": "Required retry delay in seconds.", "required": true, "schema": { "$ref": "#/components/schemas/RetryAfterHeader" } }, "X-Correlation-ID": { "description": "Correlation identifier shared by related operations.", "required": true, "schema": { "$ref": "#/components/schemas/CorrelationId" } }, "X-Request-ID": { "description": "Request identifier for this response.", "required": true, "schema": { "$ref": "#/components/schemas/RequestId" } } } }, "500": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } }, "description": "Internal server error", "headers": { "X-Correlation-ID": { "description": "Correlation identifier shared by related operations.", "required": true, "schema": { "$ref": "#/components/schemas/CorrelationId" } }, "X-Request-ID": { "description": "Request identifier for this response.", "required": true, "schema": { "$ref": "#/components/schemas/RequestId" } } } }, "503": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } }, "description": "Service temporarily unavailable", "headers": { "Retry-After": { "description": "Required retry delay in seconds.", "required": true, "schema": { "$ref": "#/components/schemas/RetryAfterHeader" } }, "X-Correlation-ID": { "description": "Correlation identifier shared by related operations.", "required": true, "schema": { "$ref": "#/components/schemas/CorrelationId" } }, "X-Request-ID": { "description": "Request identifier for this response.", "required": true, "schema": { "$ref": "#/components/schemas/RequestId" } } } } }, "security": [ { "apiCredential": [] }, { "clerkSession": [] } ], "summary": "Append an immutable operator annotation to an incident", "tags": [ "Incidents" ]}