Skip to content

List alert sources.

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

next_cursor from the previous page.

limit
integer format: int64

1 to 200, default 50.

The account’s alert sources, newest first. Keys are never listed

Media type application/json

{"data": [...], "next_cursor": ...}; the /v1 shaping keeps it as is.

object
data
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
next_cursor

Send back as cursor for the next page; null on the last one.

string | null
Example generated
{
"data": [
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"account_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"service_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"escalation_policy_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"name": "example",
"format": "example",
"key_prefix": "example",
"email_address": "example",
"email_rules": {
"resolve_pattern": "example",
"dedup_pattern": "example"
},
"mapping": {
"dedup_key": "example",
"summary": "example",
"status": "example",
"trigger_values": [
"example"
],
"resolve_values": [
"example"
],
"acknowledge_values": [
"example"
],
"severity": "example",
"link": "example",
"signature_header": "example",
"timestamp_header": "example"
},
"signing_secret_set": true,
"debug_capture_until": "2026-04-15T12:00:00Z",
"disabled_at": "2026-04-15T12:00:00Z",
"last_event_at": "2026-04-15T12:00:00Z",
"created_at": "2026-04-15T12:00:00Z"
}
],
"next_cursor": "example"
}

Invalid limit or cursor

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"
}
]
}

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"
}
]
}