EvoHub Docs Sign in

On-Call API › Escalation policies

List escalation policies

Use with AI
View as MarkdownThis page as plain text, for pasting into an AI tool Open in ClaudeAsk Claude questions about this page Open in ChatGPTAsk ChatGPT questions about this page
Connect to Cursor / VS Code / ClaudeSearch and read these docs from your AI tool (MCP server)

MCP server URL

https://docs-dev.evohub.io/mcp

Claude Code

claude mcp add --transport http evohub-docs-docs https://docs-dev.evohub.io/mcp

Claude (claude.ai and Claude Desktop): Settings → Connectors → Add custom connector, and paste the URL above.

Claude Desktop — claude_desktop_config.json

{
  "mcpServers": {
    "evohub-docs-docs": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://docs-dev.evohub.io/mcp"
      ]
    }
  }
}

Cursor — ~/.cursor/mcp.json

{
  "mcpServers": {
    "evohub-docs-docs": {
      "url": "https://docs-dev.evohub.io/mcp"
    }
  }
}

VS Code — .vscode/mcp.json

{
  "servers": {
    "evohub-docs-docs": {
      "type": "http",
      "url": "https://docs-dev.evohub.io/mcp"
    }
  }
}
GET/api/v1/escalation-policies

Lists the policies the caller can see — the organization-wide ones and those of the caller's teams — with their steps.

Permission (API-key scope): oncall:escalation:read.

Authorization

Any one of:

Responses

200

The policies.

Content type: application/json

Type: object

  • data array of EscalationPolicy required
    Show EscalationPolicy properties
    • id string
    • org_id string
    • team_id string
    • name string
    • description string
    • repeat_count integer
    • repeat_delay_minutes integer
    • repeat_enabled boolean
    • ack_timeout_minutes integer
      Escalate again when an acknowledged alert stays unresolved this long; 0 is off.
    • ack_timeout_repeat integer
      How many times that may happen per alert.
    • ack_timeout_reach string
      others goes past whoever acknowledged; acker_first reminds them once first. Empty means others.
      One of: others acker_first
    • steps array of EscalationStep
      Show EscalationStep properties
      • id string
      • policy_id string
      • step_number integer
      • delay_minutes integer
        Wait before this step.
      • target_type EscalationTargetType
        One of: user schedule webhook slack
      • target_user_id string
      • target_schedule_id string
      • target_schedule_layer_id string
        Page only this layer of the schedule.
      • target_webhook_url string
      • target_slack_channel_id string
        A Slack channel this step also posts to.
      • target_slack_channel_name string
      • target_chat_channel_id string
        A Microsoft Teams channel this step also posts to.
      • notify_method NotifyMethod
        One of: push call email sms
      • attempts integer
        How many times the step notifies before the policy moves on.
      • attempt_delay_minutes integer
      • created_at string (date-time)
      • updated_at string (date-time)
    • external_source string
    • external_id string
    • created_at string (date-time)
    • updated_at string (date-time)
  • success boolean required
    Value: true

401

No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.

403

The key lacks the scope this endpoint needs (FORBIDDEN).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.

429

Too many requests (RATE_LIMITED). Wait Retry-After seconds.

Headers

  • Retry-After integer
    Seconds to wait.

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.

500

Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.

Example request

curl -X GET 'https://evohub.io/api/v1/escalation-policies' \
  -H 'Authorization: Bearer <TOKEN>'

Last updated