API & webhooks (Elite)
Réservés à l'offre Elite. Créez vos clés dans Dashboard → API & webhooks.
API REST (lecture seule)
Base : https://api.veylguard.app/v1 · en-tête Authorization: Bearer vg_live_… · 60 requêtes par minute et par clé.
| Route | Description |
|---|---|
GET /v1/guild | Offre du serveur lié à la clé |
GET /v1/stats?days=14 | Compteurs journaliers (arrivées, spam bloqué, raids…) |
GET /v1/events?type=raid&user=ID&limit=50&offset=0 | Évènements de sécurité (rétention selon l'offre) |
GET /v1/cases?user=ID&limit=50 | Sanctions et notes de modération |
Webhooks sortants
Chaque évènement est envoyé en POST JSON vers votre URL https publique (pas d'IP, de port ni d'adresse privée). Champs : id, guild_id, type, actor_id, target_id, data, created_at.
Vérifiez l'authenticité avec l'en-tête X-VeylGuard-Signature: t=<timestamp>,v1=<hex> où v1 = HMAC-SHA256(secret, "<timestamp>." + corps). Rejetez les requêtes dont le timestamp a plus de 5 minutes.
const expected = crypto.createHmac('sha256', secret).update(t + '.' + rawBody).digest('hex');