Stats

Global counters and per-entity stats. These endpoints mirror the website's homepage, boards, and profile pages.

GET /api/v1/stats Public

Aggregate counters for the whole workspace: total messages, channels, users, coding time, Slack time, and database size.

Query parameters

  • include - response fields to include, comma-separated. Defaults to all. Example: include=messages,channels.

Example response

{
  "total_messages": 938152,
  "total_channels": 16813,
  "total_users": 4812,
  "coding_minutes": 1048379,
  "slack_time_secs": 394661834,
  "db_size_bytes": 2147482736,
  "updated": 1736092800
}

Example

curl https://shiptalkers.kirze.de/api/v1/stats?include=messages,channels
GET /api/v1/boards/{category} Public

Returns ranked entries for a board category. With no query params this returns the top 100. Pass rank=N to fetch a small window around rank N, or q=name to look up an entity by name and fetch its rank window.

Path parameters

  • category - talkers, coders, channels, combined, or words.

Query parameters

  • rank - jump to a rank and return a window around it (3 below, 3 above). Mutually exclusive with q.
  • q - look up an entry by display name (users/channels) or by exact/prefixed word (words) and return its rank window. Mutually exclusive with rank.
  • limit - max entries, default 100, max 500.

Example response

{
  "category": "talkers",
  "total": 4812,
  "entries": [
    {
      "rank": 1,
      "id": "U0123ABCD",
      "name": "Orpheus",
      "value": 394661834,
      "extra": 1294
    }
  ]
}

Example

curl https://shiptalkers.kirze.de/api/v1/boards/talkers?q=Orpheus
GET /api/v1/users/{slack_id} Public

Slack-time sessionizer output, coding minutes, board rank, and top channels for one user. Bot and deleted-user stats are returned but excluded from rankings.

Path parameters

  • slack_id - Slack user id, e.g. U0123ABCD.

Example response

{
  "slack_id": "U0123ABCD",
  "merged_name": "Orpheus",
  "display_name": "orpheus0",
  "real_name": "Orpheus Calver",
  "username": "orpheus",
  "email": "orpheus@example.com",
  "pfp": "/pfp/U0123ABCD",
  "is_bot": false,
  "is_deleted": false,
  "found": true,
  "scores": {
    "score": 1948532,
    "total_time_secs": 946703,
    "messages": 1294,
    "sessions": 812,
    "longest_secs": 3600,
    "days": 214,
    "channels": 48,
    "active_hour": 1
  },
  "coding_minutes": 3420,
  "leaderboard_rank": 1,
  "top_channels": [
    { "channel_id": "C0123ABCD", "channel_name": "ship", "messages": 210 }
  ]
}

Example

curl https://shiptalkers.kirze.de/api/v1/users/U0123ABCD