Change lifecycle
/v1/monitors/{monitorId}/lifecycle Pause or resume a monitor, archive or restore it, or schedule a maintenance window when beats are expected to stop.
- Authentication
- SignalSitter API credential or Clerk session JWT · REST guide
- Operation ID
controlMonitorLifecycle
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_-]*$
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._~:/+-]*$
If-MatchEntityTagRequiredStrong resource generation ETag from a prior read.
- Maximum length
130 - Pattern
^"[A-Za-z0-9][A-Za-z0-9._~:/+-]*"$
Request body
Section titled “Request body”Required
MonitorLifecycleRequest- A maintenance window is required exactly for the enter_maintenance action.
actionstringRequired"pause""resume""archive""restore""enter_maintenance""exit_maintenance"
windowobject3 properties
endsAtstringRequired- 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)))$
reasonstring- Minimum length
1 - Maximum length
256 - Pattern
^[^\u0000-\u001F\u007F]*$
startsAtstringRequired- 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)))$
Responses
Section titled “Responses”MonitorControlResult- Only an active monitor reports an armed deadline, and a restorable-until timestamp is present exactly for an archived monitor.
configurationobjectRequired2 properties
valueobjectRequired6 properties
callbackone ofkind: "disabled"
kindstringRequired"disabled"
kind: "organization_default"
kindstringRequired"organization_default"
kind: "named"
aliasstringRequired- Minimum length
1 - Maximum length
64 - Pattern
^[A-Za-z0-9][A-Za-z0-9_-]*$
kindstringRequired"named"
kind: "inline"
kindstringRequired"inline"
urlstringRequired- Format
uri - Maximum length
512
heartbeatExpectationone ofRequiredstate: "enabled"
graceSecondsintegerSeconds of lateness tolerated after the interval. Values below 60 are raised to 60.
- Minimum
0 - Maximum
604800 - Default
60
intervalSecondsintegerRequired- Minimum
60 - Maximum
31536000
statestringRequired"enabled"
versionnumberRequired1
state: "disabled"
statestringRequired"disabled"
versionnumberRequired1
state: "automatic"
graceSecondsintegerSeconds of lateness tolerated after the interval. Values below 60 are raised to 60.
- Minimum
0 - Maximum
604800
statestringRequired"automatic"
versionnumberRequired1
incidentPolicyobject- Default
{"anomalySensitivity":0.5,"notificationCooldownSeconds":0,"recoveryConfirmationBeats":1,"regimeChangeMode":"manual"}
2 properties
notificationCooldownSecondsinteger- Minimum
0 - Maximum
604800 - Default
0
recoveryConfirmationBeatsinteger- Minimum
1 - Maximum
10 - Default
1
measurementsobject14 properties
disabledRulesarray of string- Maximum items
8
Each item
maximumnumbermaximumAbsoluteDeltanumber- Minimum
0
maximumPercentageDeltanumber- Minimum
0
metricTypestring"gauge""count""rate""duration""counter""size"
- Default
"gauge"
minimumnumbermissingPolicystring"skip""zero""reject"
- Default
"skip"
modestring"heartbeat""shadow""active"
ratioobject3 properties
denominatorstringRequired- Minimum length
1 - Maximum length
64 - Pattern
^[a-z][a-z0-9_]*$
maximumnumberminimumnumberruleActionobject2 properties
modestringRequired"inactive""active"
versionnumberRequired1
rulePolicyany ofOption 1
consecutiveObservationsinteger- Minimum
1 - Maximum
10 - Default
1
severitystring"info""warning""critical"
- Default
"critical"
Option 2
sustainedConsequencestring"none""info""warning""critical"
- Default
"critical"
sustainedCriterionone of- Default
{"kind":"observations","observations":1}
kind: "observations"
kindstringRequired"observations"
observationsintegerRequired- Minimum
1 - Maximum
10
kind: "elapsed_time"
kindstringRequired"elapsed_time"
secondsintegerRequired- Minimum
1 - Maximum
604800
transientConsequencestring"none""info""warning""critical"
- Default
"none"
versionnumberRequired1
transformstring"none""log1p"
- Default
"none"
unitstring- Minimum length
1 - Maximum length
64 - Pattern
^[^\u0000-\u001F\u007F]*$
zeroExpectationstring"zero""nonzero"
- Minimum length
1 - Maximum length
64 - Pattern
^[a-z][a-z0-9_]*$
namestring- Minimum length
1 - Maximum length
120 - Pattern
^[^\u0000-\u001F\u007F]*$
timeZonestring- Minimum length
1 - Maximum length
64 - Pattern
^[^\u0000-\u001F\u007F]*$
versionintegerRequired- Minimum
0 - Maximum
9007199254740991
jurisdictionstringRequired"unrestricted""eu""us""fedramp"
lifecyclestringRequired"active""paused""archived"
lifecycleChangedAtstring- 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)))$
maintenanceobject3 properties
endsAtstringRequired- 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)))$
reasonstring- Minimum length
1 - Maximum length
256 - Pattern
^[^\u0000-\u001F\u007F]*$
startsAtstringRequired- 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)))$
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_-]*$
nextDeadlinestring- 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)))$
replayedbooleanRequiredrestorableUntilstring- 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)))$
3 response headers
ETagEntityTagRequiredStrong credential generation entity tag.
- Maximum length
130 - Pattern
^"[A-Za-z0-9][A-Za-z0-9._~:/+-]*"$
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 or concurrent mutation conflict
- 412Entity tag precondition failed
- 413Request payload too large
- 415Unsupported request media type
- 428Entity tag precondition required
- 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 controlMonitorLifecycle
{ "operationId": "controlMonitorLifecycle", "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 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" } }, { "description": "Strong resource generation ETag from a prior read.", "in": "header", "name": "If-Match", "required": true, "schema": { "$ref": "#/components/schemas/EntityTag" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MonitorLifecycleRequest" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MonitorControlResult" } } }, "description": "Successful response", "headers": { "ETag": { "description": "Strong credential generation entity tag.", "required": true, "schema": { "$ref": "#/components/schemas/EntityTag" } }, "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 or concurrent mutation 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" } } } }, "412": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } }, "description": "Entity tag precondition failed", "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" } } } }, "428": { "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } }, "description": "Entity tag precondition 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" } } } }, "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": "Pause, resume, archive, restore, or schedule monitor maintenance", "tags": [ "Monitors" ]}