EvoHub Docs Sign in

On-Call API › Schedules

Who is on call on a 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"
    }
  }
}
GET/api/v1/schedules/{id}/on-call-now

Who is on call on this schedule right now, with an override taken into account, and when their shift started and ends. When nobody is, data is {"on_call": null}.

A schedule that belongs to a team is visible only to callers in that team (and to administrators acting in person); others get 404, as if it did not exist.

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

Authorization

Any one of:

Parameters

Path parameters

  • id string required
    The schedule's id.
    Example: 5b1c7d2e-8f3a-4b9c-a0d1-e2f3a4b5c6d7

Responses

200

The person on call, or {"on_call": null}.

Content type: application/json

Type: object

  • data OnCallInfo | object required

    One of:

    • OnCallInfo
      Show OnCallInfo properties
      • user_id string required
      • schedule_id string required
      • layer_id string
      • starts_at string (date-time)
        Start of the current shift.
      • ends_at string (date-time)
        End of the current shift.
    • object
      • on_call null required
  • 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.

404

No schedule with this id in your organization (NOT_FOUND).

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/5b1c7d2e-8f3a-4b9c-a0d1-e2f3a4b5c6d7/on-call-now' \
  -H 'Authorization: Bearer <TOKEN>'

Last updated