EvoHub Docs Sign in

EvoTrail API › Usage

Get the most active people

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/evotrail/usage/people

The 50 most active people in the range with their actions per product. This is for organization owners and administrators signed in to the console only: no permission opens it, so an API key always gets 403.

Permission (API-key scope): evotrail:metrics:read. Not enough on its own: the caller must also be an organization owner or administrator, which an API key never is.

Authorization

Any one of:

Parameters

Query parameters

  • product array of Product
    Only these products; repeat it (product=oncall&product=uptime) or comma-separate. Products the key cannot read are dropped. Default: every product it can read.
  • team_id string
  • from string
    YYYY-MM-DD (UTC) or RFC 3339. Default 30 days before to.
    Example: 2026-09-10
  • to string
    YYYY-MM-DD (inclusive) or RFC 3339. Default now.
    Example: 2026-10-09

Responses

200

The people.

Content type: application/json

Type: object

  • data object required
    • from string (date-time)
    • to string (date-time)
    • people array of object
      • actor_id string
      • name string | null
      • actions integer
      • by_product object
        Other keys: integer
      • last_active_day string (date)
      • drill Drill
        Show Drill properties
        • product array of string
        • action string
        • team_id string
        • actor_id string
        • from string (date-time) required
        • to string (date-time) required
  • success boolean required
    Value: true

400

A range or filter is not valid (VALIDATION_ERROR); the message names it.

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.
    • request_id string
      This request's id, also in X-Request-ID.
  • success boolean
    Value: false

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.
    • request_id string
      This request's id, also in X-Request-ID.
  • success boolean
    Value: false

403

Always, for an API key: only owners and administrators may see per-person usage (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.
    • request_id string
      This request's id, also in X-Request-ID.
  • success boolean
    Value: false

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.
    • request_id string
      This request's id, also in X-Request-ID.
  • success boolean
    Value: false

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.
    • request_id string
      This request's id, also in X-Request-ID.
  • success boolean
    Value: false

Example request

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

Last updated