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é.

RouteDescription
GET /v1/guildOffre du serveur lié à la clé
GET /v1/stats?days=14Compteurs 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=50Sanctions 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');