Skip to content

Export the account's configuration.

GET
/v1/export
curl --request GET \
--url https://api.siteqwality.com/v1/export \
--header 'Authorization: Bearer <token>'

Monitors, notification groups and channels, integrations, alert sources, services and escalation policies, each in its /v1 shape and without secrets. A scoped key needs read:monitors, read:notifications and read:incidents

Media type application/json

Everything the account has configured, each list in its /v1 shape. Secrets stay out, as on every read.

object
version
required

The document’s format version, 1.

integer format: int32
exported_at
required
string format: date-time
http_monitors
required
Array<object>
object
id
required

Unique identifier for the HTTP job.

string format: uuid
account_id
required

Unique identifier for the account associated with the HTTP job.

string format: uuid
state
required

The current state of the HTTP job (e.g., active, paused).

string
Allowed values: active paused
paused_reason

Why a paused monitor is paused: user or dormancy (older rows may say billing).

string | null
current_status
required

The current status of the HTTP job (e.g., success, failure).

string
Allowed values: success failed pending_failure
check_regions

The regions from which the HTTP job will be checked.

array | null
min_healthy_regions

The minimum number of healthy regions required for the HTTP job to be considered healthy.

integer | null format: int32
friendly_name

A name set by the user to identify the HTTP job.

string | null
follow_redirects
required

Indicates whether the HTTP job should follow redirects.

boolean
final_uri

Reserved and currently unused.

string | null
method
required

The HTTP method used for the request (e.g., GET, POST).

string
keyword_search

A keyword to search for in the response body.

string | null
keyword_search_inverted

Indicates whether the keyword search is inverted (i.e., the job fails if the keyword is found).

boolean | null
keyword_search_case_sensitive

Indicates whether the keyword search is case-sensitive, default is false.

boolean | null
keyword_search_regex

Indicates whether to interpret the keyword search as a regex.

boolean | null
timeout_ms
required

The timeout for the HTTP request in milliseconds.

integer format: int32
uri
required

The URI to which the HTTP request is sent.

string
check_type

http, tcp or ping; fixed once created.

string
Allowed values: http tcp ping
tcp_send

TCP: sent once connected, with \r \n \t \0 \\ \xHH escapes.

string | null
tcp_expect

TCP: the response must contain this, with the same escapes.

string | null
tcp_tls

TCP: complete a verified TLS handshake before send and expect.

boolean
ping_count

Ping: echo requests per check.

integer | null format: int32
ping_loss_threshold

Ping: fail at or above this percent of packets lost.

integer | null format: int32
recheck_on_failure

Whether a failed run is checked once more before it counts: off, same_location or another_cloud.

string
Allowed values: off same_location another_cloud
web_bot_auth

Whether check requests are signed with Web Bot Auth as SiteQwality Monitor.

boolean
request_body

The body of the HTTP request to be sent.

string | null
content_type
One of:

The content type of the HTTP request (e.g., application/json).

string
Allowed values: json xml form_url_encoded text
auth_type
One of:

The type of authentication used for the HTTP request (e.g., Basic, Bearer).

string
Allowed values: basic digest bearer
auth_username

The username used for authentication.

string | null
has_auth

True when a basic-auth password or a bearer token is stored for this monitor. This is what a read gets in place of the secret itself; see auth_type for which kind of credential it is.

boolean
success_http_codes

A list of HTTP status codes that indicate a successful response.

array | null
failure_http_codes

A list of HTTP status codes that indicate a failed response.

array | null
custom_http_headers

A map of custom HTTP headers to be included in the request.

Names are returned. Values are readable only for the seven headers in secrets::RETURNABLE_REQUEST_HEADERS, matched case-insensitively. Other values become secrets::REDACTED; sending that placeholder back preserves the stored value (secrets::restore_redacted_header_values).

object | null
last_run_at

The last time the HTTP job was run.

string | null format: date-time
last_status_change_at

The last time the status of the HTTP job changed, (e.g., from success to failure).

string | null format: date-time
run_interval_seconds
required

The interval in seconds at which the HTTP job runs.

integer format: int32
run_interval_thirty_seconds
required

Indicates whether the HTTP job runs every 30 seconds.

boolean
group_notifications

A list of notification groups associated with the HTTP job. This is the same as group_notification_ids, but with the full notification group object.

array | null
object
id
required
string format: uuid
account_id
required
string format: uuid
friendly_name
required
string
delay_send_after_minutes
integer | null format: int32
resend_every_minutes
integer | null format: int32
is_default

The group monitors get when they are created without group_notification_ids.

boolean
created_at
required
string format: date-time
notifications
required
Array<object>
object
id
required
string format: uuid
account_id
required
string format: uuid
type
required
string
Allowed values: email sms slack webhook telegram discord microsoft_teams pagerduty opsgenie google_chat mattermost pushover pushbullet
details
required
One of:
object
email_address
required
string
created_at
required
string format: date-time
health
One of:

How this channel’s recent deliveries went: whether the last alert reached anyone, and why not when it did not (a revoked Slack token, a bouncing inbox). Present on the read endpoints; absent on create and update responses.

object
state
required

healthy: the most recent delivery reached the provider. degraded: it was refused, bounced, complained about, could not be sent, or skipped for a reason the channel must fix (such as sms_quota), so the next alert will likely not arrive either. unknown: nothing sent in the lookback window. A skip by design, such as heartbeat_channel_unsupported, is listed in recent but never judged.

string
recent
required

Newest first, at most [CHANNEL_HEALTH_RECENT].

Array<object>

One delivery, as a channel’s health shows it.

object
at
required
string format: date-time
status
required

Sent | delivered | delayed | soft_bounced | failed | rejected | bounced | complained | skipped

string
reason

The provider’s reason for a non-success status, URLs reduced to hosts. For skipped, a slug such as sms_quota or tls_channel_unsupported.

string | null
bouncing
One of:

An email channel whose address hard-bounced or complained after its last delivery: SES now suppresses it, so the channel is degraded until the address is fixed.

object
since
required
string format: date-time
event_type
required

bounce or complaint.

string
sub_type

E.g. Permanent/General, Permanent/OnAccountSuppressionList.

string | null
numb_of_sites
integer | null format: int64
tls_job_id

The ID of the TLS job associated with the HTTP job.

string | null format: uuid
monitor_tls
required

Indicates whether the HTTP job monitors TLS.

boolean
dns_job_id

The ID of the DNS job associated with the HTTP job.

string | null format: uuid
monitor_dns
required

Indicates whether the HTTP job monitors DNS.

boolean
page_speed_job_id

The ID of the page speed job associated with the HTTP job.

string | null format: uuid
monitor_page_speed
required

Indicates whether the HTTP job monitors page speed.

boolean
created_at
required

When the HTTP job was created.

string format: date-time
tags

A list of tags associated with the HTTP job.

array | null
service_id

The ID of the service this HTTP job belongs to.

string | null format: uuid
http_version
required

Preferred HTTP version for the check client (auto / http1_1 / http2 / http2_with_fallback).

string
Allowed values: auto http1_1 http2 http2_with_fallback
confirmation_threshold
required

Number of consecutive failed checks required before the monitor is considered down and notifications are sent. 1 = alert on the first failed check.

integer format: int32
json_path
string | null
json_path_expected
string | null
uptime_24h

Uptime percentage over the last 24h (successful checks / total) checks). Only populated on the monitor list endpoint; omitted when the monitor has no checks in the window.

number | null format: double
not_checked_reason
One of:

Set while the monitor is active but not being checked: quota when the account’s quota for it is used up. Omitted otherwise.

string
Allowed values: quota
tls_port

Port the paired TLS check connects to. Only on GET /http/job/{id} when TLS is monitored.

integer | null format: int32
alert_on_invalid_certificate

Whether an invalid certificate alerts. Only on GET /http/job/{id} when TLS is monitored.

boolean | null
icon
One of:

The website’s icon. Only on GET /http/job/{id}, once one is found.

object
url
required

Public HTTPS URL of the PNG. The same image always has the same URL.

string
tone
required

How the icon reads on a transparent background: dark or light is a mark of that tone, which needs a contrasting backdrop on a surface of the same tone. neutral reads on either.

string
Allowed values: dark light neutral
recovery_period_runs

Healthy runs in a row before a recovery is notified. 1 = notify on the first.

integer format: int32
flap_hold

Whether alerts are held while the monitor flaps: the override, or else the account’s notification setting.

boolean
flap_hold_override

This monitor’s own flap hold; null follows the account’s notification setting.

boolean | null
trace_propagation
boolean
partial_failure
One of:

Set while runs pass but some locations fail. Omitted otherwise.

object
failed_locations
required
Array<string>
total_locations
required
integer format: int32
since
required

When the current run of partial failures began.

string format: date-time
heartbeat_monitors
required
Array<object>
object
id
required
string format: uuid
account_id
required
string format: uuid
created_at
required
string format: date-time
current_status
required
string
Allowed values: success failed
friendly_name
string | null
last_received_at
string | null format: date-time
last_status_change_at
string | null format: date-time
last_checked_at
string | null format: date-time
check_interval_seconds
required
integer format: int32
grace_seconds

Extra seconds after the interval before a missing ping alerts. 0 alerts as soon as the interval passes.

integer format: int32
group_notification_ids
array | null
group_notifications
array | null
object
id
required
string format: uuid
account_id
required
string format: uuid
friendly_name
required
string
delay_send_after_minutes
integer | null format: int32
resend_every_minutes
integer | null format: int32
is_default

The group monitors get when they are created without group_notification_ids.

boolean
created_at
required
string format: date-time
notifications
required
Array<object>
object
id
required
string format: uuid
account_id
required
string format: uuid
type
required
string
Allowed values: email sms slack webhook telegram discord microsoft_teams pagerduty opsgenie google_chat mattermost pushover pushbullet
details
required
One of:
object
email_address
required
string
created_at
required
string format: date-time
health
One of:

How this channel’s recent deliveries went: whether the last alert reached anyone, and why not when it did not (a revoked Slack token, a bouncing inbox). Present on the read endpoints; absent on create and update responses.

object
state
required

healthy: the most recent delivery reached the provider. degraded: it was refused, bounced, complained about, could not be sent, or skipped for a reason the channel must fix (such as sms_quota), so the next alert will likely not arrive either. unknown: nothing sent in the lookback window. A skip by design, such as heartbeat_channel_unsupported, is listed in recent but never judged.

string
recent
required

Newest first, at most [CHANNEL_HEALTH_RECENT].

Array<object>

One delivery, as a channel’s health shows it.

object
at
required
string format: date-time
status
required

Sent | delivered | delayed | soft_bounced | failed | rejected | bounced | complained | skipped

string
reason

The provider’s reason for a non-success status, URLs reduced to hosts. For skipped, a slug such as sms_quota or tls_channel_unsupported.

string | null
bouncing
One of:

An email channel whose address hard-bounced or complained after its last delivery: SES now suppresses it, so the channel is degraded until the address is fixed.

object
since
required
string format: date-time
event_type
required

bounce or complaint.

string
sub_type

E.g. Permanent/General, Permanent/OnAccountSuppressionList.

string | null
numb_of_sites
integer | null format: int64
state
required
string
Allowed values: active paused
paused_reason

Why a paused monitor is paused: user or dormancy (older rows may say billing).

string | null
tags
array | null
service_id
string | null format: uuid
browser_monitors
required
Array<object>
object
id
required
string format: uuid
account_id
required
string format: uuid
name
required
string
script
required
string
frequency
required
string
timeout_seconds
required
integer format: int32
check_regions
required
Array<string>
min_healthy_regions
required
integer format: int32
state
required
string
Allowed values: active paused
paused_reason

Why a paused monitor is paused: user or dormancy (older rows may say billing).

string | null
current_status
required
string
Allowed values: success failed pending_failure
last_run_at
string | null format: date-time
last_status_change_at
string | null format: date-time
group_notifications

Notification groups resolved from group_notification_ids. This is what the dashboard edit form seeds from.

array | null
object
id
required
string format: uuid
account_id
required
string format: uuid
friendly_name
required
string
delay_send_after_minutes
integer | null format: int32
resend_every_minutes
integer | null format: int32
is_default

The group monitors get when they are created without group_notification_ids.

boolean
created_at
required
string format: date-time
notifications
required
Array<object>
object
id
required
string format: uuid
account_id
required
string format: uuid
type
required
string
Allowed values: email sms slack webhook telegram discord microsoft_teams pagerduty opsgenie google_chat mattermost pushover pushbullet
details
required
One of:
object
email_address
required
string
created_at
required
string format: date-time
health
One of:

How this channel’s recent deliveries went: whether the last alert reached anyone, and why not when it did not (a revoked Slack token, a bouncing inbox). Present on the read endpoints; absent on create and update responses.

object
state
required

healthy: the most recent delivery reached the provider. degraded: it was refused, bounced, complained about, could not be sent, or skipped for a reason the channel must fix (such as sms_quota), so the next alert will likely not arrive either. unknown: nothing sent in the lookback window. A skip by design, such as heartbeat_channel_unsupported, is listed in recent but never judged.

string
recent
required

Newest first, at most [CHANNEL_HEALTH_RECENT].

Array<object>

One delivery, as a channel’s health shows it.

object
at
required
string format: date-time
status
required

Sent | delivered | delayed | soft_bounced | failed | rejected | bounced | complained | skipped

string
reason

The provider’s reason for a non-success status, URLs reduced to hosts. For skipped, a slug such as sms_quota or tls_channel_unsupported.

string | null
bouncing
One of:

An email channel whose address hard-bounced or complained after its last delivery: SES now suppresses it, so the channel is degraded until the address is fixed.

object
since
required
string format: date-time
event_type
required

bounce or complaint.

string
sub_type

E.g. Permanent/General, Permanent/OnAccountSuppressionList.

string | null
numb_of_sites
integer | null format: int64
service_id
string | null format: uuid
tags
array | null
created_at
required
string format: date-time
updated_at
required
string format: date-time
confirmation_threshold

Consecutive failed runs before DOWN; null means 1.

integer | null format: int32
rerun_on_failure

Whether a failed run is rerun once from the same location before it counts; null means off.

boolean | null
trace_propagation
boolean
not_checked_reason
One of:

Set while the monitor is active but not being checked: quota when the account’s quota for it is used up. Omitted otherwise.

string
Allowed values: quota
dns_record_monitors
required
Array<object>

A DNS record monitor as the api returns it.

object
id
required
string format: uuid
account_id
required
string format: uuid
http_job_id
string | null format: uuid
created_at
required
string format: date-time
friendly_name
string | null
domain
required
string
watched
required
Array<object>
object
interval_seconds
required
integer format: int32
paused
required
boolean
current_status
required

pending | baselined | changed | unreachable.

Deliberately never success: a monitor that has never run says so instead of claiming to be fine.

string
last_run_at
string | null format: date-time
last_status_change_at
string | null format: date-time
last_failure_reason

When set, everything displayed for this monitor is LAST KNOWN, not current: a failed check keeps the previous values rather than nulling them, so this field is what makes the staleness legible.

string | null
last_failure_at
string | null format: date-time
group_notification_ids
required
Array<string>
notification_groups
required
Array<object>
object
id
required
string format: uuid
account_id
required
string format: uuid
friendly_name
required
string
delay_send_after_minutes
integer | null format: int32
resend_every_minutes
integer | null format: int32
is_default

The group monitors get when they are created without group_notification_ids.

boolean
created_at
required
string format: date-time
notifications
required
Array<object>
object
id
required
string format: uuid
account_id
required
string format: uuid
type
required
string
Allowed values: email sms slack webhook telegram discord microsoft_teams pagerduty opsgenie google_chat mattermost pushover pushbullet
details
required
One of:
object
email_address
required
string
created_at
required
string format: date-time
health
One of:

How this channel’s recent deliveries went: whether the last alert reached anyone, and why not when it did not (a revoked Slack token, a bouncing inbox). Present on the read endpoints; absent on create and update responses.

object
state
required

healthy: the most recent delivery reached the provider. degraded: it was refused, bounced, complained about, could not be sent, or skipped for a reason the channel must fix (such as sms_quota), so the next alert will likely not arrive either. unknown: nothing sent in the lookback window. A skip by design, such as heartbeat_channel_unsupported, is listed in recent but never judged.

string
recent
required

Newest first, at most [CHANNEL_HEALTH_RECENT].

Array<object>

One delivery, as a channel’s health shows it.

object
at
required
string format: date-time
status
required

Sent | delivered | delayed | soft_bounced | failed | rejected | bounced | complained | skipped

string
reason

The provider’s reason for a non-success status, URLs reduced to hosts. For skipped, a slug such as sms_quota or tls_channel_unsupported.

string | null
bouncing
One of:

An email channel whose address hard-bounced or complained after its last delivery: SES now suppresses it, so the channel is degraded until the address is fixed.

object
since
required
string format: date-time
event_type
required

bounce or complaint.

string
sub_type

E.g. Permanent/General, Permanent/OnAccountSuppressionList.

string | null
numb_of_sites
integer | null format: int64
notifications
required
Array<object>
object
id
required
string format: uuid
account_id
required
string format: uuid
type
required
string
Allowed values: email sms slack webhook telegram discord microsoft_teams pagerduty opsgenie google_chat mattermost pushover pushbullet
details
required
One of:
object
email_address
required
string
created_at
required
string format: date-time
health
One of:

How this channel’s recent deliveries went: whether the last alert reached anyone, and why not when it did not (a revoked Slack token, a bouncing inbox). Present on the read endpoints; absent on create and update responses.

object
state
required

healthy: the most recent delivery reached the provider. degraded: it was refused, bounced, complained about, could not be sent, or skipped for a reason the channel must fix (such as sms_quota), so the next alert will likely not arrive either. unknown: nothing sent in the lookback window. A skip by design, such as heartbeat_channel_unsupported, is listed in recent but never judged.

string
recent
required

Newest first, at most [CHANNEL_HEALTH_RECENT].

Array<object>

One delivery, as a channel’s health shows it.

object
at
required
string format: date-time
status
required

Sent | delivered | delayed | soft_bounced | failed | rejected | bounced | complained | skipped

string
reason

The provider’s reason for a non-success status, URLs reduced to hosts. For skipped, a slug such as sms_quota or tls_channel_unsupported.

string | null
bouncing
One of:

An email channel whose address hard-bounced or complained after its last delivery: SES now suppresses it, so the channel is degraded until the address is fixed.

object
since
required
string format: date-time
event_type
required

bounce or complaint.

string
sub_type

E.g. Permanent/General, Permanent/OnAccountSuppressionList.

string | null
integrations
required
Array<object>
object
id
required
string format: uuid
account_id
required
string format: uuid
friendly_name
required
string
type
required
string
Allowed values: slack webhook telegram discord microsoft_teams pagerduty opsgenie google_chat mattermost pushover pushbullet
details
required
One of:
object
slack_token
required

Masked bot token, e.g. ****abcd.

string
external_ref
One of:

Where a PagerDuty or JSM/Opsgenie integration sends. null on every other type.

object
region

PagerDuty service region: us or eu.

string | null
endpoint

JSM/Opsgenie endpoint: jsm, opsgenie_us or opsgenie_eu.

string | null
created_at
required
string format: date-time
health
One of:

How deliveries through it are going. Only the list carries it.

object
state
required
string
Allowed values: healthy degraded failing skipped untested disabled quiet
reason

Why it is not healthy: the vendor’s words or a skip slug.

string | null
last_delivery
One of:

The newest receipt, skips by design included.

object
id
required
string format: uuid
at
required
string format: date-time
status
required

Sent | delivered | delayed | soft_bounced | failed | rejected | bounced | complained | skipped

string
reason

The vendor’s reason for a non-success status, URLs cut to hosts; a slug for skipped.

string | null
channel

Slack | webhook | pagerduty | …

string | null
destination

Masked: a Slack channel, a webhook host.

string | null
source_kind

What produced it, such as http_transition; null on older rows.

string | null
event_kind

What happened, such as down; null on older rows.

string | null
why

The older slug for why it was sent, such as monitor_down.

string | null
monitor_id

The monitor it was about, and which table: http | cron | browser | page_speed | tls | dns.

string | null format: uuid
monitor_type
string | null
is_test
required

A test send from the dashboard.

boolean
webhook_delivery_id

For a webhook, the delivery whose attempts the webhook log shows.

string | null format: uuid
disabled
One of:

Set while it is turned off. The list and the enable and disable answers carry it.

object
at
required
string format: date-time
reason
required

Customer | auto_failing | app_uninstalled | auth_revoked

string
monthly_check

Microsoft Teams only: whether a check card goes out each month to keep the flow running. The list and edits that set it carry it.

boolean | null
webhook_request
One of:

Webhooks only: the custom header names and the auth type it sends, never a value. The list and edits carry it.

object
headers
Array<string>
auth

bearer or basic; absent when there is none.

string | null
username
string | null
routed

Whether anything sends through it: a channel in a group, a service target or a contact method. Only the list carries it.

boolean | null
alert_sources
required
Array<object>

A source as the api returns it. The key is never stored, only its hash and first characters.

object
id
required
string format: uuid
account_id
required
string format: uuid
service_id
required

Incidents open on this service.

string format: uuid
escalation_policy_id

Overrides the service’s escalation policy for incidents this source opens.

string | null format: uuid
name
required
string
format
required
string
key_prefix
required

The key’s first characters, to tell keys apart.

string
email_address

Where an email source receives alerts. Rolling the key replaces it.

string | null
email_rules
One of:

How an email source reads each email.

object
resolve_pattern

A subject that matches resolves its incident instead of opening one, for example ^(UP|RECOVERY|OK)\b.

string | null
dedup_pattern

Its first group, or the whole match, is the dedup key, so each thing it names gets its own incident: for example (?:DOWN|UP): (.+). Left out, or with no match, all of the address’s emails share one incident.

string | null
mapping
One of:

Where a generic_json source finds each field.

object
dedup_key
required

The dedup key: events with the same one open, update and close one incident.

string
summary
string | null
status

The status. Left out, every event triggers.

string | null
trigger_values

Status values that trigger, ignoring case. Empty takes trigger, triggered, firing, alert, alerting, open, problem and down.

Array<string>
resolve_values

Status values that resolve. Empty takes resolve, resolved, ok, recovered, closed, up, normal and cleared.

Array<string>
acknowledge_values

Status values that acknowledge. Empty takes acknowledge, acknowledged and ack.

Array<string>
severity

The severity: critical, error, warning, info or a common synonym.

string | null
link

An http(s) link back to the alert.

string | null
signature_header

With a signing secret set: the header holding the body’s HMAC-SHA256, in hex or base64, with or without sha256=. Left out, X-Signature.

string | null
timestamp_header

With a signing secret set: a header holding the Unix time the sender signed at. When named, the signature covers <timestamp>.<body> and must be under 10 minutes old.

string | null
signing_secret_set
required

Whether a signing secret is set (sentry and generic_json). The secret itself is never returned.

boolean
debug_capture_until

While set, each event keeps its body, redacted, for debugging. Ends 24 hours after it was turned on.

string | null format: date-time
disabled_at
string | null format: date-time
last_event_at
string | null format: date-time
created_at
required
string format: date-time
services
required
Array<object>
object
id
required
string format: uuid
name
required
string
description
string | null
escalation_policy_id
string | null format: uuid
incident_creation_mode
required

Whether a failing monitor opens an incident on its service.

string
Allowed values: auto manual
incident_merge_window_minutes
required

Deprecated and unused: every failure joins the service’s open auto incident.

integer format: int32
reopen_window_minutes
required

A failure this many minutes after a resolved auto incident’s last alert reopens it; 0 never does.

integer format: int32
auto_resolve
required

Whether an auto-created incident resolves itself once every monitor recovers.

string
Allowed values: always unless_acknowledged never
disabled_at

When the service was switched off; while set its monitors open no auto incidents.

string | null format: date-time
auto_publish_to_status_page_id
string | null format: uuid
default_incident_severity
required
string
Allowed values: minor major critical
created_at
required
string format: date-time
monitor_count
integer format: int64
public_incident_template
One of:

Prefills Publish and words auto-published incidents.

object
title

The public title; auto-published incidents never show the monitor’s name.

string | null
message

The first public update when the incident is published.

string | null
resolved_message

The public “Resolved” update.

string | null
owner_team

The team that owns the service; filter the list with team.

string | null
tags

Free-form labels; filter the list with tag.

Array<string>
on_call_schedule_id

Who is on call for this service; without it, the escalation policy’s first level.

string | null format: uuid
health
One of:

The roll-up of incidents, monitors, maintenance and on call. On the list and get routes.

object
status
required

The worst of incident and monitor state. Maintenance never changes it.

string
Allowed values: operational degraded partial_outage major_outage
in_maintenance
required

A maintenance window naming this service is running now. It holds paging, never the status.

boolean
open_incident_count
required
integer format: int64
failing_monitor_count
required

Linked monitors failing now; paused ones are left out.

integer format: int64
last_incident_at

When the newest incident on the service opened.

string | null format: date-time
on_call_now
required

The service’s on-call schedule, else every user and schedule on the policy’s first level.

Array<object>

One person on call for a service right now.

object
user_id
required
string format: uuid
user_name
string | null
schedule_id

The schedule that puts them on call; absent for a user named on the policy directly.

string | null format: uuid
schedule_name
string | null
until

When the schedule hands off; absent for a direct user or past 90 days.

string | null format: date-time
escalation_policies
required
Array<object>
object
id
required
string format: uuid
account_id
required
string format: uuid
name
required
string
repeat_count
required

Times to run through every level again after the first pass.

integer format: int32
created_at
required
string format: date-time
levels
array | null
object
id
required
string format: uuid
escalation_policy_id
required
string format: uuid
level_number
required
integer format: int32
timeout_minutes
required
integer format: int32
target_user_ids
required
Array<string>
target_schedule_ids
required
Array<string>
created_at
required
string format: date-time
on_exhausted

What happens when the repeats are used up, or no level reaches anyone.

string
Allowed values: notify_owners stop escalate_to_policy
escalate_to_policy_id

The policy escalate_to_policy runs once; null otherwise.

string | null format: uuid
Example
{
"http_monitors": [
{
"state": "active",
"current_status": "success",
"check_type": "http",
"recheck_on_failure": "off",
"content_type": "json",
"auth_type": "basic",
"group_notifications": [
{
"notifications": [
{
"type": "email",
"details": {
"pagerduty_severity": "critical"
}
}
]
}
],
"http_version": "auto",
"not_checked_reason": "quota",
"icon": {
"tone": "dark"
}
}
],
"heartbeat_monitors": [
{
"current_status": "success",
"group_notifications": [
{
"notifications": [
{
"type": "email",
"details": {
"pagerduty_severity": "critical"
}
}
]
}
],
"state": "active"
}
],
"browser_monitors": [
{
"state": "active",
"current_status": "success",
"group_notifications": [
{
"notifications": [
{
"type": "email",
"details": {
"pagerduty_severity": "critical"
}
}
]
}
],
"not_checked_reason": "quota"
}
],
"notification_groups": [
{
"notifications": [
{
"type": "email",
"details": {
"pagerduty_severity": "critical"
}
}
]
}
],
"notifications": [
{
"type": "email",
"details": {
"pagerduty_severity": "critical"
}
}
],
"integrations": [
{
"type": "slack",
"external_ref": {
"region": "eu",
"endpoint": "jsm"
},
"health": {
"state": "healthy"
}
}
],
"services": [
{
"incident_creation_mode": "auto",
"auto_resolve": "always",
"default_incident_severity": "minor",
"health": {
"status": "operational"
}
}
],
"escalation_policies": [
{
"on_exhausted": "notify_owners"
}
]
}

Missing or invalid credentials

Media type application/problem+json

An RFC 9457 problem, the body of every /v1 error.

object
type
required

https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.

string
title
required
string
status
required
integer format: int32
detail
string | null
instance

urn:uuid: and the request id.

string | null
errors

The invalid fields, when the request body was refused.

array | null

One validation failure; pointer is an RFC 6901 pointer into the request body.

object
pointer
required
string
detail
required
string
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"errors": [
{
"pointer": "example",
"detail": "example"
}
]
}

The key or member may not do this, or lacks the scope it needs

Media type application/problem+json

An RFC 9457 problem, the body of every /v1 error.

object
type
required

https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.

string
title
required
string
status
required
integer format: int32
detail
string | null
instance

urn:uuid: and the request id.

string | null
errors

The invalid fields, when the request body was refused.

array | null

One validation failure; pointer is an RFC 6901 pointer into the request body.

object
pointer
required
string
detail
required
string
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"errors": [
{
"pointer": "example",
"detail": "example"
}
]
}

Too many requests; wait for the time in Retry-After

Media type application/problem+json

An RFC 9457 problem, the body of every /v1 error.

object
type
required

https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.

string
title
required
string
status
required
integer format: int32
detail
string | null
instance

urn:uuid: and the request id.

string | null
errors

The invalid fields, when the request body was refused.

array | null

One validation failure; pointer is an RFC 6901 pointer into the request body.

object
pointer
required
string
detail
required
string
Example generated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"errors": [
{
"pointer": "example",
"detail": "example"
}
]
}