API reference
Stats & logbook
Read-only analytics about your guild's Zyron usage, plus the logbook — the append-only audit trail of everything that happened.
All paths are relative to https://api.zyron.pro/api/v1/guilds/:guildId.
Overview
GET
/guilds/:guildId/stats/overviewHeadline numbers for dashboards:
json
{
"totalPlayers": 412,
"matchesToday": 6
}Growth
GET
/guilds/:guildId/stats/growth| Field | Type | Description |
|---|---|---|
period | "daily" | "monthly" | "yearly" | Query parameter — bucket size for the series. Default daily. |
json
{
"period": "daily",
"points": [
{ "date": "2026-07-08", "registered": 398 },
{ "date": "2026-07-09", "registered": 405 },
{ "date": "2026-07-10", "registered": 412 }
]
}Platforms
GET
/guilds/:guildId/stats/platformsBreakdown of linked members by platform (PC, PlayStation, Xbox, Switch, …) — sourced from the platform field on Epic links.
Logbook
GET
/guilds/:guildId/logbookThe audit trail: link changes, signups, session actions, dispatches, settings edits, and more. Uses cursor pagination — newest first.
| Field | Type | Description |
|---|---|---|
before | string | Query parameter — opaque cursor; pass the previous response's nextCursor to fetch older entries. |
limit | number | Query parameter — entries per page. |
category | string | Query parameter — filter by category, e.g. links, customs, sessions, settings. |
actorId | string | Query parameter — filter by the Discord user who performed the action. |
from | string | Query parameter — ISO 8601 lower time bound. |
to | string | Query parameter — ISO 8601 upper time bound. |
curl "https://api.zyron.pro/api/v1/guilds/123456789012345678/logbook?limit=50&category=links" \
-H "Authorization: Bearer zyr_your_guild_key"json
{
"entries": [
{
"id": "lb_01j9zx4t",
"timestamp": "2026-07-10T09:15:31.000Z",
"category": "links",
"action": "link.created",
"actorId": "222222222222222222",
"details": { "epicName": "Ninja", "verificationMethod": "api" }
}
],
"nextCursor": "lb_01j9zx3a"
}Cursor semantics
nextCursor is null when you have reached the oldest entry. Cursors are opaque — never construct one yourself; only echo back what the API returned.Errors
400 invalid_request for an unknown period, malformed dates, or an invalid cursor. See Errors for the shared codes.