API
Mit der REST-API holt dein Server offene Votes ab, löst sie ein und erstellt persönliche Vote-Links. Den Schlüssel erstellst du im Dashboard unter Belohnungen & API.
Authentifizierung
Sende den API-Schlüssel bei jeder Anfrage mit:
Authorization: Bearer sv_xxxxxxxx.yyyyyyyy
Wichtig
Der API-Schlüssel gehört nur auf deinen Server, nie in Client-Code, ein öffentliches Repository oder einen Discord-Kanal.
Endpunkte
Basis-URL: https://servoting.com
| Endpunkt | Zweck |
|---|---|
GET /api/v1/votes/pending[?player=Name&identifier=license:…] | Nicht eingelöste Votes der letzten 7 Tage, älteste zuerst. Mit ?player=Name nur die Votes dieses Spielers. |
POST /api/v1/vote-link | Persönlichen Vote-Link für einen Spieler erstellen (JSON: player, identifier). Gilt 6 Stunden. |
POST /api/v1/votes/{event_id}/claim | Markiert einen Vote als belohnt. Ein zweites Einlösen liefert claimed: false. |
GET /api/v1/votes/check?player=Name | Hat dieser Spieler in den letzten 24 Stunden gevotet, und wurde der Vote eingelöst? |
GET /api/v1/server | Name, Vote-Link, Votes je Zeitraum und Platz. |
Beispiel
curl -H "Authorization: Bearer $KEY" https://servoting.com/api/v1/votes/pending
{"events":[{"event_id":"evt_3f9c…","player":"Kritz","identifier":"license:1a2b…","test":false,"created_at":"2026-11-05T14:12:03+00:00"}]}
curl -X POST -H "Authorization: Bearer $KEY" https://servoting.com/api/v1/votes/evt_3f9c…/claim
{"event_id":"evt_3f9c…","claimed":true,"already_claimed":false}
Limits und Tests
Limits
Limit: 120 Anfragen pro Minute und Schlüssel. Votes bleiben 7 Tage abrufbar. Im Dashboard kannst du Test-Votes auslösen ("test": true), um die Anbindung zu prüfen.

