Skip to content

Create monitor

POST/v1/monitors

Create a monitor and set how often you expect beats. It's ready for its first beat straight away.

Authentication
SignalSitter API credential or Clerk session JWT · REST guide
Operation ID
createMonitor

Headers

X-Correlation-IDCorrelationId

Optional caller correlation identifier propagated to the response.

  • Minimum length 1
  • Maximum length 128
  • Pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]*$
Idempotency-KeystringRequired

Opaque retry key retained for the public idempotency window.

  • Minimum length 1
  • Maximum length 255
  • Pattern ^[A-Za-z0-9][A-Za-z0-9._~:/+-]*$

Required

application/jsonMonitorCreateRequest
callbackone of
kind: "disabled"
kindstringRequired
Value
  • "disabled"
kind: "organization_default"
kindstringRequired
Value
  • "organization_default"
kind: "named"
aliasstringRequired
  • Minimum length 1
  • Maximum length 64
  • Pattern ^[A-Za-z0-9][A-Za-z0-9_-]*$
kindstringRequired
Value
  • "named"
graceSecondsinteger

Seconds of lateness tolerated after the interval. Values below 60 are raised to 60.

  • Minimum 0
  • Maximum 604800
heartbeatExpectationone of
state: "enabled"
graceSecondsinteger

Seconds 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
Value
  • "enabled"
versionnumberRequired
Value
  • 1
state: "disabled"
statestringRequired
Value
  • "disabled"
versionnumberRequired
Value
  • 1
state: "automatic"
graceSecondsinteger

Seconds of lateness tolerated after the interval. Values below 60 are raised to 60.

  • Minimum 0
  • Maximum 604800
statestringRequired
Value
  • "automatic"
versionnumberRequired
Value
  • 1
intervalSecondsinteger
  • Minimum 60
  • Maximum 31536000
jurisdictionstring
One of
  • "unrestricted"
  • "eu"
  • "us"
  • "fedramp"
namestringRequired
  • Minimum length 1
  • Maximum length 120
  • Pattern ^[^\u0000-\u001F\u007F]*$
200Successful response
application/jsonMonitorCreateResult
configurationobjectRequired
2 properties
valueobjectRequired
6 properties
callbackone of
kind: "disabled"
kindstringRequired
Value
  • "disabled"
kind: "organization_default"
kindstringRequired
Value
  • "organization_default"
kind: "named"
aliasstringRequired
  • Minimum length 1
  • Maximum length 64
  • Pattern ^[A-Za-z0-9][A-Za-z0-9_-]*$
kindstringRequired
Value
  • "named"
kind: "inline"
kindstringRequired
Value
  • "inline"
urlstringRequired
  • Format uri
  • Maximum length 512
heartbeatExpectationone ofRequired
state: "enabled"
graceSecondsinteger

Seconds 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
Value
  • "enabled"
versionnumberRequired
Value
  • 1
state: "disabled"
statestringRequired
Value
  • "disabled"
versionnumberRequired
Value
  • 1
state: "automatic"
graceSecondsinteger

Seconds of lateness tolerated after the interval. Values below 60 are raised to 60.

  • Minimum 0
  • Maximum 604800
statestringRequired
Value
  • "automatic"
versionnumberRequired
Value
  • 1
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
measurementsobject
Any keyobject
14 properties
disabledRulesarray of string
  • Maximum items 8

Each item

One of
  • "minimum"
  • "maximum"
  • "zero"
  • "nonzero"
  • "absolute_delta"
  • "percentage_delta"
  • "ratio_minimum"
  • "ratio_maximum"
maximumnumber
maximumAbsoluteDeltanumber
  • Minimum 0
maximumPercentageDeltanumber
  • Minimum 0
metricTypestring
One of
  • "gauge"
  • "count"
  • "rate"
  • "duration"
  • "counter"
  • "size"
  • Default "gauge"
minimumnumber
missingPolicystring
One of
  • "skip"
  • "zero"
  • "reject"
  • Default "skip"
modestring
One of
  • "heartbeat"
  • "shadow"
  • "active"
ratioobject
3 properties
denominatorstringRequired
  • Minimum length 1
  • Maximum length 64
  • Pattern ^[a-z][a-z0-9_]*$
maximumnumber
minimumnumber
ruleActionobject
2 properties
modestringRequired
One of
  • "inactive"
  • "active"
versionnumberRequired
Value
  • 1
rulePolicyany of
Option 1
consecutiveObservationsinteger
  • Minimum 1
  • Maximum 10
  • Default 1
severitystring
One of
  • "info"
  • "warning"
  • "critical"
  • Default "critical"
Option 2
sustainedConsequencestring
One of
  • "none"
  • "info"
  • "warning"
  • "critical"
  • Default "critical"
sustainedCriterionone of
  • Default {"kind":"observations","observations":1}
kind: "observations"
kindstringRequired
Value
  • "observations"
observationsintegerRequired
  • Minimum 1
  • Maximum 10
kind: "elapsed_time"
kindstringRequired
Value
  • "elapsed_time"
secondsintegerRequired
  • Minimum 1
  • Maximum 604800
transientConsequencestring
One of
  • "none"
  • "info"
  • "warning"
  • "critical"
  • Default "none"
versionnumberRequired
Value
  • 1
transformstring
One of
  • "none"
  • "log1p"
  • Default "none"
unitstring
  • Minimum length 1
  • Maximum length 64
  • Pattern ^[^\u0000-\u001F\u007F]*$
zeroExpectationstring
One of
  • "zero"
  • "nonzero"
Keysstring
  • 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
directoryStatestringRequired
One of
  • "pending"
  • "synchronized"
jurisdictionstringRequired
One of
  • "unrestricted"
  • "eu"
  • "us"
  • "fedramp"
monitorKeystringRequired

Deprecated 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_-]*$
publishUrlstringRequired
  • Format uri
replayedbooleanRequired
statestringRequired
Value
  • "waiting"
2 response headers
X-Correlation-IDCorrelationIdRequired

Correlation identifier shared by related operations.

  • Minimum length 1
  • Maximum length 128
  • Pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]*$
X-Request-IDRequestIdRequired

Request identifier for this response.

  • Minimum length 1
  • Maximum length 128
  • Pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]*$
201Credential created
application/jsonMonitorCreateResult
configurationobjectRequired
2 properties
valueobjectRequired
6 properties
callbackone of
kind: "disabled"
kindstringRequired
Value
  • "disabled"
kind: "organization_default"
kindstringRequired
Value
  • "organization_default"
kind: "named"
aliasstringRequired
  • Minimum length 1
  • Maximum length 64
  • Pattern ^[A-Za-z0-9][A-Za-z0-9_-]*$
kindstringRequired
Value
  • "named"
kind: "inline"
kindstringRequired
Value
  • "inline"
urlstringRequired
  • Format uri
  • Maximum length 512
heartbeatExpectationone ofRequired
state: "enabled"
graceSecondsinteger

Seconds 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
Value
  • "enabled"
versionnumberRequired
Value
  • 1
state: "disabled"
statestringRequired
Value
  • "disabled"
versionnumberRequired
Value
  • 1
state: "automatic"
graceSecondsinteger

Seconds of lateness tolerated after the interval. Values below 60 are raised to 60.

  • Minimum 0
  • Maximum 604800
statestringRequired
Value
  • "automatic"
versionnumberRequired
Value
  • 1
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
measurementsobject
Any keyobject
14 properties
disabledRulesarray of string
  • Maximum items 8

Each item

One of
  • "minimum"
  • "maximum"
  • "zero"
  • "nonzero"
  • "absolute_delta"
  • "percentage_delta"
  • "ratio_minimum"
  • "ratio_maximum"
maximumnumber
maximumAbsoluteDeltanumber
  • Minimum 0
maximumPercentageDeltanumber
  • Minimum 0
metricTypestring
One of
  • "gauge"
  • "count"
  • "rate"
  • "duration"
  • "counter"
  • "size"
  • Default "gauge"
minimumnumber
missingPolicystring
One of
  • "skip"
  • "zero"
  • "reject"
  • Default "skip"
modestring
One of
  • "heartbeat"
  • "shadow"
  • "active"
ratioobject
3 properties
denominatorstringRequired
  • Minimum length 1
  • Maximum length 64
  • Pattern ^[a-z][a-z0-9_]*$
maximumnumber
minimumnumber
ruleActionobject
2 properties
modestringRequired
One of
  • "inactive"
  • "active"
versionnumberRequired
Value
  • 1
rulePolicyany of
Option 1
consecutiveObservationsinteger
  • Minimum 1
  • Maximum 10
  • Default 1
severitystring
One of
  • "info"
  • "warning"
  • "critical"
  • Default "critical"
Option 2
sustainedConsequencestring
One of
  • "none"
  • "info"
  • "warning"
  • "critical"
  • Default "critical"
sustainedCriterionone of
  • Default {"kind":"observations","observations":1}
kind: "observations"
kindstringRequired
Value
  • "observations"
observationsintegerRequired
  • Minimum 1
  • Maximum 10
kind: "elapsed_time"
kindstringRequired
Value
  • "elapsed_time"
secondsintegerRequired
  • Minimum 1
  • Maximum 604800
transientConsequencestring
One of
  • "none"
  • "info"
  • "warning"
  • "critical"
  • Default "none"
versionnumberRequired
Value
  • 1
transformstring
One of
  • "none"
  • "log1p"
  • Default "none"
unitstring
  • Minimum length 1
  • Maximum length 64
  • Pattern ^[^\u0000-\u001F\u007F]*$
zeroExpectationstring
One of
  • "zero"
  • "nonzero"
Keysstring
  • 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
directoryStatestringRequired
One of
  • "pending"
  • "synchronized"
jurisdictionstringRequired
One of
  • "unrestricted"
  • "eu"
  • "us"
  • "fedramp"
monitorKeystringRequired

Deprecated 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_-]*$
publishUrlstringRequired
  • Format uri
replayedbooleanRequired
statestringRequired
Value
  • "waiting"
2 response headers
X-Correlation-IDCorrelationIdRequired

Correlation identifier shared by related operations.

  • Minimum length 1
  • Maximum length 128
  • Pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]*$
X-Request-IDRequestIdRequired

Request identifier for this response.

  • Minimum length 1
  • Maximum length 128
  • Pattern ^[A-Za-z0-9][A-Za-z0-9._:/-]*$
Errors
  • 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
application/problem+jsonProblemDetails
  • 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
  • Pattern ^[^\u0000-\u001F\u007F]*$
Part 2
  • Pattern ^(?:|(?:\/(?:[^~]|~[01])*)+)$
instancestring
  • Minimum length 1
  • Maximum length 512
  • Pattern ^[^\s\u0000-\u001F\u007F]+$
limitobject
7 properties
attemptedinteger
  • Minimum 0
  • Maximum 9007199254740991
currentinteger
  • Minimum 0
  • Maximum 9007199254740991
dimensionstringRequired
One of
  • "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
planobject
3 properties
idstringRequired
One of
  • "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
One of
  • "upgrade_plan"
  • "reduce_usage"
  • "increase_interval"
  • "remove_feature"
  • "retry_after_refresh"
  • "contact_support"
  • "export_data"
serviceStatestring
One of
  • "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
  • Pattern ^[^\s\u0000-\u001F\u007F]+$
Part 2
  • Pattern ^(?:\/(?!\/)|[Hh][Tt][Tt][Pp][Ss]:\/\/)
messagestringRequired
  • Minimum length 1
  • Maximum length 512
  • Pattern ^[^\u0000-\u001F\u007F]*$
retryablebooleanRequired
retryAfterSecondsinteger
  • 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]+$

The operation exactly as it appears in the generated contract. References resolve within the OpenAPI document.

Show raw OpenAPI for createMonitor
{
"operationId": "createMonitor",
"parameters": [
{
"description": "Optional caller correlation identifier propagated to the response.",
"in": "header",
"name": "X-Correlation-ID",
"required": false,
"schema": {
"$ref": "#/components/schemas/CorrelationId"
}
},
{
"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/MonitorCreateRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MonitorCreateResult"
}
}
},
"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"
}
}
}
},
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MonitorCreateResult"
}
}
},
"description": "Credential created",
"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": "Create and configure a monitor ready for its first live beat",
"tags": [
"Monitors"
]
}