Documentation Index
Fetch the complete documentation index at: https://mintlify.com/midudev/mundial-de-clicks/llms.txt
Use this file to discover all available pages before exploring further.
GET /api/status reports the runtime state of all three optional integrations. The web UI calls this endpoint on load to display visual banners when features are not configured, so developers and operators can see at a glance which services are connected without inspecting environment variables directly. The response is computed from module-level boolean constants (hasDragonfly, hasCaptcha, hasUmami) that are evaluated once at startup, making this endpoint synchronous and zero-I/O.
Request
Response
Status:200 OK
true when at least one of REDIS_URL or DRAGONFLY_HOST is set to a non-empty value. Indicates that vote counts, daily limits, captcha sessions, and abuse limits are persisted in DragonFly. When false, all data lives in a per-process in-memory store — useful for demos and local development, but votes are lost on every restart and not shared across multiple Node instances.true when CAP_API_URL is set and dragonfly is true. Both conditions must hold because captcha sessions (cap:sess:* keys) require DragonFly storage. Setting CAP_API_URL without DragonFly would silently leave the captcha in a broken state; the app prevents this by tying hasCaptcha to hasDragonfly.true when both PUBLIC_UMAMI_SCRIPT_URL and PUBLIC_UMAMI_WEBSITE_ID were defined at build time. These are Astro PUBLIC_* variables read from import.meta.env during the Astro SSR build — changing them in the runtime environment without rebuilding has no effect. When false, the Umami <script> tag is not injected into any page.Either
"redis" (DragonFly is active) or "memory" (in-process demo store). Mirrors the dragonfly flag as a human-readable string for display in dashboards and UI banners.Feature dependency map
umami is the only field that depends on build-time variables. All other fields are evaluated at server startup from runtime environment variables. This means you can enable or disable DragonFly and captcha with a container restart, but toggling Umami requires a new deployment.Use cases
Local development — run the app without any external services and confirm all three flags arefalse. Add each service one at a time and reload /api/status to verify the flag flips correctly before testing the full flow.
Production monitoring — poll this endpoint from a healthcheck dashboard (e.g. Uptime Kuma) and alert when dragonfly: false unexpectedly, which would indicate the DragonFly container stopped and votes are falling back to the in-memory store.
UI warnings — the frontend reads this response on page load and displays contextual banners (e.g. “Captcha is not configured — votes are unprotected”) so operators are notified without needing to check logs or environment variables.
Environment variables
| Variable | Scope | Effect on /api/status |
|---|---|---|
REDIS_URL | Runtime | Sets dragonfly: true and store: "redis" |
DRAGONFLY_HOST | Runtime | Alternative to REDIS_URL; same effect |
CAP_API_URL | Runtime | Sets captcha: true (requires dragonfly: true) |
PUBLIC_UMAMI_SCRIPT_URL | Build time | Required for umami: true |
PUBLIC_UMAMI_WEBSITE_ID | Build time | Required for umami: true |