Skip to content

Add a level to an escalation policy.

POST
/v1/escalation-policies/{escalation_policy_id}/levels
curl --request POST \
--url https://api.siteqwality.com/v1/escalation-policies/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/levels \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "level_number": 1, "timeout_minutes": 1, "target_user_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "target_schedule_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ] }'
escalation_policy_id
required
string format: uuid
Idempotency-Key
string
<= 255 characters

Makes a retry safe: the same key and body within 24 hours returns the first response with Idempotent-Replayed: true. The same key with another body is refused with 422 idempotency_key_reused, and one still running with 409 idempotency_key_in_use.

Media type application/json
object
level_number

Position to insert at, 1 to the level count plus one; later levels move down. Default: last.

integer | null format: int32
timeout_minutes
required
integer format: int32
target_user_ids
array | null
target_schedule_ids
array | null
Example generated
{
"level_number": 1,
"timeout_minutes": 1,
"target_user_ids": [
"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
],
"target_schedule_ids": [
"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
]
}

The level

Media type application/json
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
Example generated
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"escalation_policy_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"level_number": 1,
"timeout_minutes": 1,
"target_user_ids": [
"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
],
"target_schedule_ids": [
"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
],
"created_at": "2026-04-15T12:00:00Z"
}
Idempotent-Replayed
string

true when this is the stored first response

Invalid request body, a level_number past the end, or a target that is not in this account

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 plan’s responder limit is reached

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

No such policy in this account

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