EvoHub Docs Sign in

On-Call API › Schedules

My on-call shifts

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/my-on-call

For the caller: the schedules they are on call for right now (with who takes over next), and their next shift within the coming 14 days, or null. Every schedule in the organization is considered. Meant for a person; with an organization API key the key is the caller and holds no shifts.

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

Authorization

Any one of:

Responses

200

The caller's shifts.

Content type: application/json

Type: object

  • data MyOnCall required
    Show MyOnCall properties
    • now array of object
      • schedule_id string
      • schedule_name string
      • team_id string
      • starts_at string (date-time)
      • ends_at string (date-time)
      • next_user_id string
        Who takes over when the shift ends.
    • next object | null
      The caller's next shift within 14 days, or null.

      One of:

      • object
        • schedule_id string
        • schedule_name string
        • starts_at string (date-time)
        • ends_at string (date-time)
      • null
  • 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/my-on-call' \
  -H 'Authorization: Bearer <TOKEN>'

Last updated