feat: public read API for quest and exploration timers #229

Closed
opened 2026-04-06 11:23:36 -07:00 by hikari · 0 comments
Owner

Feature Request

Summary

Add a public read-only API endpoint that exposes live timer data for a player's active quests and explorations. This would allow community members to build external tooling (notification bots, automation scripts, timer displays, etc.) on top of Elysium data without needing to scrape the frontend.

Use Case

A community member wants to use quest/exploration timers as a source of long-running timers for personal automation projects. The current frontend embeds timer data inside JavaScript and over images, making it difficult to scrape reliably.

Suggested Endpoint Shape

GET /api/timers/:userId

Response:

{
  "quests": [
    {
      "questId": "...",
      "name": "...",
      "endsAt": 1712345678000
    }
  ],
  "explorations": [
    {
      "zoneId": "...",
      "name": "...",
      "endsAt": 1712345678000
    }
  ]
}

Authentication could be optional (read-only, no write access), or could require the player's own JWT to scope it to their own data.

Notes

  • Should be purely read-only — no game state modification possible through this API
  • Rate limiting should be applied to prevent abuse

This issue was created with help from Hikari~ 🌸

## Feature Request ### Summary Add a public read-only API endpoint that exposes live timer data for a player's active quests and explorations. This would allow community members to build external tooling (notification bots, automation scripts, timer displays, etc.) on top of Elysium data without needing to scrape the frontend. ### Use Case A community member wants to use quest/exploration timers as a source of long-running timers for personal automation projects. The current frontend embeds timer data inside JavaScript and over images, making it difficult to scrape reliably. ### Suggested Endpoint Shape ``` GET /api/timers/:userId ``` Response: ```json { "quests": [ { "questId": "...", "name": "...", "endsAt": 1712345678000 } ], "explorations": [ { "zoneId": "...", "name": "...", "endsAt": 1712345678000 } ] } ``` Authentication could be optional (read-only, no write access), or could require the player's own JWT to scope it to their own data. ### Notes - Should be purely read-only — no game state modification possible through this API - Rate limiting should be applied to prevent abuse --- ✨ This issue was created with help from Hikari~ 🌸
naomi closed this issue 2026-04-06 18:17:05 -07:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nhcarrigan/elysium#229