Skip to main content
POST
/
channel
/
escalate
/
rule
/
create
Create escalation rule
curl --request POST \
  --url 'https://api.flashcat.cloud/channel/escalate/rule/create?app_key=' \
  --header 'Content-Type: application/json' \
  --data '
{
  "channel_id": 3521074710131,
  "rule_name": "On-call escalation",
  "template_id": "6321aad26c12104586a88916",
  "description": "Notify primary on-call, then escalate to secondary after 30 minutes",
  "layers": [
    {
      "target": {
        "person_ids": [
          3790925372131
        ],
        "by": {
          "follow_preference": true
        }
      },
      "max_times": 3,
      "notify_step": 10,
      "escalate_window": 30,
      "force_escalate": false
    }
  ]
}
'
{
  "request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
  "data": {
    "rule_id": "69db2f72a0fe7db6448b1506",
    "rule_name": "Test escalation rule"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.flashcat.cloud/llms.txt

Use this file to discover all available pages before exploring further.

Restrictions

AspectValue
Rate limits1,000 requests/minute; 50 requests/second per account
PermissionsChannels Manage (on-call)

Authorizations

app_key
string
query
required

App key issued from the Flashduty console under Account → APP Keys. Required on every public API call. Keep it secret — it grants the same access as the owning account.

Body

application/json

Parameters for creating an escalation rule.

channel_id
integer<int64>
required

Channel the rule belongs to.

template_id
string
required

Notification template ID (MongoDB ObjectID).

Pattern: ^[0-9a-fA-F]{24}$
rule_name
string
required

Rule name, 1 to 39 characters.

Required string length: 1 - 39
layers
object[]
required

Escalation levels in order. At least one level is required.

priority
integer

Evaluation priority. Lower runs first.

Required range: 0 <= x <= 200
aggr_window
integer

Aggregation window in seconds. 0 disables aggregation.

Required range: 0 <= x <= 3600
description
string

Rule description, up to 500 characters.

Maximum string length: 500
time_filters
object[]

Optional recurring time windows during which the rule applies.

filters
object[][]

Or-of-and filter tree. Each outer element is an AND group; within each group, all conditions must match.

Response

Success

Success response envelope. On every 2xx response, request_id identifies the call (also mirrored in the Flashcat-Request-Id header) and data holds the endpoint-specific payload. Failure responses use a different shape — see ErrorResponse.

request_id
string
required

Unique ID for this request. Mirrored in the Flashcat-Request-Id response header. Include it when reporting issues.

Example:

"01HK8XQE3Z7JM2NTFQ5YJ8P9R4"

data
object
required

Endpoint-specific payload. See each operation's 200 response schema.