EvoHub Docs Sign in

On-Call API › My notifications

Save my notification schedule

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"
    }
  }
}
PUT/api/v1/notification-schedule

Replaces the caller's timezone and rules. At most 20 rules. Each rule names days (mon…sun), a start and end (HH:MM, may cross midnight), and the channels (push, voice, email, sms) allowed during it; an empty list allows none. With critical_overrides, critical alerts ignore the rule. The first matching rule applies. An empty rules list turns the schedule off.

These are the caller's own, across every organization they belong to. Meant for a person; with an organization API key the key itself is the caller.

Permission: none — any valid API key or signed-in member of the organization.

Authorization

Any one of:

Request body required

Content type: application/json

Type: NotificationScheduleWrite

  • timezone string required
    IANA timezone.
  • rules array of NotificationRule
    Max items: 20
    Show NotificationRule properties
    • days array of string required
      Min items: 1
    • start string required
      HH:MM
    • end string required
      HH:MM
    • channels array of NotificationChannel required
    • critical_overrides boolean
      Critical alerts ignore this rule.

Responses

200

The saved schedule.

Content type: application/json

Type: object

  • data NotificationSchedule required
    Show NotificationSchedule properties
    • timezone string
    • rules array of NotificationRule
      Show NotificationRule properties
      • days array of string required
        Min items: 1
      • start string required
        HH:MM
      • end string required
        HH:MM
      • channels array of NotificationChannel required
      • critical_overrides boolean
        Critical alerts ignore this rule.
    • updated_at string (date-time) | null
  • success boolean required
    Value: true

400

The body is not JSON or larger than 64 KB (INVALID_BODY), or it is invalid (VALIDATION_ERROR, the message says which rule and why).

Content type: application/json

Type: Error

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

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

No caller to attach the schedule to (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 PUT 'https://evohub.io/api/v1/notification-schedule' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <TOKEN>' \
  -d '{
  "rules": [
    {
      "end": "08:00",
      "days": [
        "mon",
        "tue",
        "wed",
        "thu",
        "fri"
      ],
      "start": "22:00",
      "channels": [
        "push"
      ],
      "critical_overrides": true
    }
  ],
  "timezone": "Europe/Istanbul"
}'

Last updated