Toutes les routes renvoient du JSON et nécessitent un compte Stampcheck (Free ou Pro) — pas de clé d'API séparée, l'authentification se fait par cookie de session.
Connectez-vous avec POST /api/auth/login (email + mot de passe) via un client qui conserve les cookies — le cookie de session reçu authentifie ensuite chaque appel. Chaque requête POST exige en plus un jeton anti-CSRF : le serveur pose un cookie csrf_token dès la première requête, à renvoyer dans l'en-tête X-CSRF-Token.
curl -c cookies.txt -b cookies.txt https://votre-instance/ -o /dev/null
TOKEN=$(grep csrf_token cookies.txt | awk '{print $7}')
curl -c cookies.txt -b cookies.txt -X POST https://votre-instance/api/auth/login \
-H "Content-Type: application/json" -H "X-CSRF-Token: $TOKEN" \
-d '{"email":"vous@exemple.com","password":"votre-mot-de-passe"}'
curl -b cookies.txt "https://votre-instance/api/check?domain=exemple.com"
Quotas Free : 10 audits de domaine et 5 lookups IP par jour (/api/check et /api/ip-check). Les générateurs et l'analyseur d'en-têtes sont illimités pour tout compte connecté, Free ou Pro. Le plan Pro lève les deux limites ci-dessus.
Audit complet d'un domaine : SPF, DMARC, DKIM, BIMI, MTA-STS, TLS-RPT, blocklists, plus un score global et un conseil de correction par vérification en défaut. Enregistré dans l'historique (Pro) et compté dans le quota domain_audit.
| Nom | Type | Requis | Description |
|---|---|---|---|
domain | string | oui | Nom de domaine à analyser |
selector | string | non | Sélecteur DKIM exact (sinon des sélecteurs courants sont testés) |
curl -b cookies.txt "https://votre-instance/api/check?domain=exemple.com&selector=google"
{
"domain": "exemple.com",
"checkedAt": "2026-08-12T10:00:00.000Z",
"score": 71,
"spf": { "found": true, "valid": true, "record": "v=spf1 -all", "dnsLookups": 1 },
"dmarc": {
"found": true, "valid": true, "policy": "reject",
"warnings": ["Pas d'adresse 'rua' : vous ne recevrez aucun rapport agrégé DMARC."],
"remediation": {
"text": "Votre DMARC est actif mais reste peu protecteur (p=none, ou pas de rua= configuré)...",
"learnMoreHref": "/verificateur-dmarc"
}
}
/* … dkim, bimi, mtaSts, tlsRpt, blocklist : même structure */
}
« remediation » n'apparaît que sur les vérifications en warn ou err ; learnMoreHref n'existe que pour spf/dkim/dmarc/bimi (les seuls avec une page dédiée).
Analyse d'une adresse IP publique : reverse DNS, géolocalisation, présence sur les blocklists. Compté dans le quota ip_lookup.
| Nom | Type | Requis | Description |
|---|---|---|---|
ip | string | oui | Adresse IPv4 ou IPv6 |
curl -b cookies.txt "https://votre-instance/api/ip-check?ip=203.0.113.5"
Génère un enregistrement SPF à partir d'une liste d'expéditeurs autorisés. Illimité, ne consomme aucun quota.
| Champ | Type | Description |
|---|---|---|
includes | string[] | Domaines à inclure (ex: _spf.google.com) |
ip4 | string[] | Adresses/plages IPv4 autorisées |
ip6 | string[] | Adresses/plages IPv6 autorisées |
a | boolean | Autoriser l'enregistrement A du domaine |
mx | boolean | Autoriser les serveurs MX du domaine |
all | string | fail | softfail | neutral | pass |
curl -b cookies.txt -X POST https://votre-instance/api/generate/spf \
-H "Content-Type: application/json" -H "X-CSRF-Token: $TOKEN" \
-d '{"includes":["_spf.google.com"],"mx":true,"all":"softfail"}'
Génère un enregistrement DMARC. Illimité, ne consomme aucun quota.
| Champ | Type | Description |
|---|---|---|
policy | string | none | quarantine | reject |
subdomainPolicy | string | Policy pour les sous-domaines (optionnel) |
pct | number | Pourcentage de messages soumis à la policy (0-100) |
rua | string | Email pour les rapports agrégés |
ruf | string | Email pour les rapports forensiques |
adkim / aspf | string | r (relaxed) ou s (strict) |
curl -b cookies.txt -X POST https://votre-instance/api/generate/dmarc \
-H "Content-Type: application/json" -H "X-CSRF-Token: $TOKEN" \
-d '{"policy":"quarantine","pct":50,"rua":"dmarc@exemple.com"}'
Analyse des en-têtes email bruts : chaîne Received, délais entre hops, résultats d'authentification. Illimité, ne consomme aucun quota.
| Champ | Type | Description |
|---|---|---|
raw | string | En-têtes email bruts (max 200 Ko) |
curl -b cookies.txt -X POST https://votre-instance/api/analyze/headers \
-H "Content-Type: application/json" -H "X-CSRF-Token: $TOKEN" \
-d '{"raw":"Received: from ...\nFrom: sender@exemple.com\n..."}'
Gratuit pour démarrer, accès illimité et historique des audits en Pro.