Développeurs
API v1
Lisez vos programmes et rapports depuis vos outils. Clés personnelles, périmètres limités, révocation immédiate.
01
Créez une clé
Depuis votre tableau de bord entreprise : nom, périmètres, expiration. Le secret ne s'affiche qu'une fois.
02
Appelez l'API
En-tête Authorization: Bearer dk_…. Vos clés ne voient que vos programmes.
03
Révoquez à tout moment
Une clé compromise se révoque en un clic ; les appels suivants reçoivent 401.
Points d'accès
Vos programmes (admin : tous).
GET /api/v1/programs
curl https://defenz.org/api/v1/programs \ -H "Authorization: Bearer dk_xxx"
Rapports de vos programmes, filtrables par statut et sévérité, paginés.
GET /api/v1/reports
curl "https://defenz.org/api/v1/reports?status=TRIAGED&pageSize=20" \ -H "Authorization: Bearer dk_xxx"
- → Périmètres : programs:read, reports:read. Hors périmètre : 403.
- → Limite : 120 requêtes/minute par clé.
- → Ne commitez jamais un secret. Stockez-le dans un coffre.
Webhooks sortants
Recevez report.created, report.status_changed et payout.status_changed sur votre URL HTTPS, signés HMAC-SHA256.
Événements : report.created · report.status_changed · payout.status_changed.
Vérifiez X-Defenz-Signature (sha256 hex de timestamp.body) en tolérant ±5 minutes sur X-Defenz-Timestamp.
import hmac
def valid(secret: str, ts: str, body: bytes, sig: str) -> bool:
mac = "sha256=" + hmac.new(secret.encode(), f"{ts}.".encode() + body, "sha256").hexdigest()
return hmac.compare_digest(mac, sig)Feuille de route
Intégrations à venir
Ces intégrations sont engagées mais non livrées. Rien ici n'est daté : une date n'est publiée que lorsque l'intégration est en production.
- JiraPrévu
- GitHubPrévu
- SlackPrévu
- ServiceNowPrévu
- Export SIEMPrévu
- Spec OpenAPI / PostmanPrévu
Besoin d'une clé sandbox pour essayer l'API sans scope de production ?
Obtenir une clé sandboxBesoin d'écriture ou de webhooks sortants ?
Parlons intégration