EvoHub Docs Sign in

On-Call API › Schedules

List schedules

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/schedules

Lists the schedules the caller can see: the organization-wide ones and those of the caller's teams. Layers and overrides are not included; get a schedule for them.

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

Authorization

Any one of:

Responses

200

The schedules.

Content type: application/json

Type: object

  • data array of Schedule required
    Show Schedule properties
    • id string
    • org_id string
    • team_id string
      Empty for an organization-wide schedule.
    • name string
    • description string
    • timezone string
      IANA timezone every shift is evaluated in.
    • active boolean
    • layers array of ScheduleLayer
      Show ScheduleLayer properties
      • id string
      • schedule_id string
      • name string
      • priority integer
        Layers with a higher priority win over lower ones.
      • rotation_type RotationType
        One of: daily weekly custom
      • rotation_start string (date-time)
        When the rota's first turn started.
      • handoff_day integer
        Weekday of the handover for weekly rotas, 0 (Sunday) to 6.
      • handoff_time string
        HH:MM of the handover.
      • restrict_to_weekdays array of integer
      • restrict_start_time string
        HH:MM
      • restrict_end_time string
        HH:MM
      • rotations array of ScheduleRotation
        Show ScheduleRotation properties
        • id string
        • layer_id string
        • user_id string
        • position integer
          0-based place in the rota.
        • created_at string (date-time)
      • created_at string (date-time)
      • updated_at string (date-time)
    • overrides array of ScheduleOverride
      Show ScheduleOverride properties
      • id string
      • schedule_id string
      • user_id string
        Whom the override covers, when recorded.
      • override_user_id string
        Who is on call instead.
      • start_time string (date-time)
      • end_time string (date-time)
      • reason string
      • created_at string (date-time)
    • external_source string
      Where it was imported from (opsgenie, pagerduty); absent for schedules made in EvoHub.
    • 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/schedules' \
  -H 'Authorization: Bearer <TOKEN>'

Last updated