List alert trigger configs

GET/v1/api/sites/{site_id}/alert-trigger-configs

List the site's alert triggers and their thresholds, as Settings > Alerts shows them.

Each site-wide trigger carries its scoped overrides. Recipient member IDs are returned only to an OAuth editor holding alerts:write; every reader gets recipient_count (null when routing is inherited, 0 when explicitly empty). Every row states in threshold_applies_to what its trigger's threshold controls: the notification, the incident, or null when no threshold applies.

Scope
alerts:read
Token
API key or OAuth access token
Role
Any workspace member
MCP tool
list_alert_trigger_configs
What scopes, tokens and roles mean →
Request
curl "https://api.crawle.io/v1/api/sites/11111111-1111-1111-1111-111111111111/alert-trigger-configs" \
  -H "Authorization: Bearer $CRAWLE_API_KEY"
const response = await fetch("https://api.crawle.io/v1/api/sites/11111111-1111-1111-1111-111111111111/alert-trigger-configs", {
  headers: {
    Authorization: `Bearer ${process.env.CRAWLE_API_KEY}`,
  },
});
const data = await response.json();
import os

import requests

response = requests.request(
    "GET",
    "https://api.crawle.io/v1/api/sites/11111111-1111-1111-1111-111111111111/alert-trigger-configs",
    headers={
        "Authorization": f"Bearer {os.environ['CRAWLE_API_KEY']}",
    },
)
data = response.json()
$CRAWLE_API_KEY
is an API key from Settings › API keys.
Response 200JSON
[
  {
    "overrides": [
      {
        "threshold_applies_to": "notification"
      }
    ],
    "threshold_applies_to": "notification"
  }
]

Example generated from the API contract.

Parameters

site_idpath · string (uuid)required

Response 200

Errors

  • 401

    When
    Missing, invalid, or expired token.
  • 403

    When
    The token has none of the accepted scopes (alerts:read).
  • 422

    When
    The request did not match the schema. detail lists each problem.
  • 429

    When
    Rate limited. Wait for Retry-After seconds.

All errors and what to do →

Generated from the API contract at 7e7039b0b, synced October 30, 2026.