Authentification
L’API TechWatchAlert utilise des clés API au niveau organisation, au format Bearer token. Aucune session ni cookie n’est nécessaire — une seule clé suffit pour toutes les requêtes. Une clé donne accès en lecture aux projets et données de son organisation.
Prérequis
Section intitulée « Prérequis »L’accès API est réservé au plan PRO de l’organisation. Si le plan de l’organisation n’inclut pas l’accès API, les endpoints /v1/ retournent une erreur 403. La création de clés requiert le rôle admin dans l’organisation.
Créer une clé API
Section intitulée « Créer une clé API »- Connectez-vous à app.techwatchalert.com
- Ouvrez les Réglages de l’organisation
- Allez dans l’onglet API
- Cliquez sur + Nouvelle clé et donnez-lui un nom descriptif (ex :
CI GitHub,SIEM Splunk) - Copiez la clé affichée — elle ne sera montrée qu’une seule fois
Les clés ont le format twa_ suivi de 43 caractères alphanumériques (~256 bits d’entropie).
Limiter une clé (expiration & scopes)
Section intitulée « Limiter une clé (expiration & scopes) »À la création, une clé peut être restreinte — principe du moindre privilège :
- Expiration : une date d’expiration optionnelle. Au-delà, la clé est refusée (
401 Clé API expirée). - Scopes : limitez la clé à certaines familles de ressources (ex.
cves,alerts). Un appel hors scope renvoie403. Une clé sans restriction a accès à tout. Scopes disponibles :org,projects,stack,alerts,eol,urls,cases,workflows,stats,cves,articles,eol-catalog. - Projets : limitez la clé à des projets précis de l’organisation. Les autres projets renvoient
404.
Utiliser la clé
Section intitulée « Utiliser la clé »Ajoutez l’en-tête Authorization à chaque requête :
GET /api/v1/me HTTP/1.1Host: app.techwatchalert.comAuthorization: Bearer twa_votre_cle_iciExemples
Section intitulée « Exemples »curl
curl -H "Authorization: Bearer twa_votre_cle_ici" \ https://app.techwatchalert.com/api/v1/mePython (httpx)
import httpx
API_KEY = "twa_votre_cle_ici"BASE_URL = "https://app.techwatchalert.com/api/v1"
headers = {"Authorization": f"Bearer {API_KEY}"}
with httpx.Client(headers=headers) as client: me = client.get(f"{BASE_URL}/me").json() print(me)JavaScript (fetch)
const API_KEY = process.env.TWA_API_KEY;const BASE_URL = 'https://app.techwatchalert.com/api/v1';
const res = await fetch(`${BASE_URL}/me`, { headers: { Authorization: `Bearer ${API_KEY}` },});const data = await res.json();GitHub Actions
- name: Check CVE alerts env: TWA_API_KEY: ${{ secrets.TWA_API_KEY }} run: | curl -sf \ -H "Authorization: Bearer $TWA_API_KEY" \ "https://app.techwatchalert.com/api/v1/organizations" | jq .Révoquer une clé
Section intitulée « Révoquer une clé »Depuis Réglages de l’organisation → API, cliquez sur l’icône de suppression à côté de la clé. La révocation est immédiate — toute requête utilisant cette clé recevra une erreur 401.
- Maximum 10 clés actives par organisation
- La mise à jour de
last_used_atest tracée à chaque appel (visible dans l’onglet API)
Erreurs d’authentification
Section intitulée « Erreurs d’authentification »| Code | Détail | Cause probable |
|---|---|---|
401 | Clé API manquante ou invalide | En-tête Authorization absent ou ne commence pas par twa_ |
401 | Clé API invalide ou révoquée | Clé inconnue ou désactivée |
401 | Clé API expirée | La date d’expiration de la clé est passée |
401 | Propriétaire de l'organisation introuvable | Propriétaire de l’org supprimé ou désactivé |
403 | Cette clé API n'a pas le droit « … » | La clé est limitée à certains scopes |
403 | Accès API non inclus dans l'abonnement de l'organisation | Plan de l’org sans accès API — upgrade requis |