Retour à l'accueil

API Développeur

Intégrez SSLTrackr directement dans vos processus. Gérez vos domaines, vérifiez leurs statuts et configurez vos webhooks via notre API REST.

Authentification

Authentifiez-vous en incluant votre clé API dans l'en-tête Authorization. Les clés API utilisent le préfixe `ssa_`. Générez vos clés depuis le tableau de bord dans Paramètres > Clés API.

Authorization: Bearer ssa_your_api_key_here

URL de base

Toutes les requêtes API utilisent l'URL de base suivante :

https://app.ssltrackr.com/api/v1

Limitation de débit

Les requêtes API sont limitées en débit par utilisateur. En cas de dépassement, l'API retourne 429 Too Many Requests.

  • POST /check — 10 requêtes par minute
  • POST /api-keys — 5 requêtes par minute

Gestion des erreurs

L'API utilise les codes de statut HTTP standards. Les réponses d'erreur incluent un corps JSON avec un champ `error`.

{
  "error": "Invalid request"
}
StatutDescription
400Bad Request — Invalid parameters
401Unauthorized — Missing or invalid API key
403Forbidden — Insufficient permissions
404Not Found — Resource does not exist
409Conflict — Resource already exists
429Too Many Requests — Rate limit exceeded
500Internal Server Error

Domaines

GET/domains

Lister les domaines

Récupérez une liste paginée de vos domaines surveillés avec filtrage et tri optionnels.

Paramètres de requête

ParamètreTypeRequisDéfautDescription
pageintegerNon1Page number
per_pageintegerNon20Items per page (1-100)
statusstringNonallFilter: all, valid, warning, critical, expired, error
searchstringNonSearch by hostname
sortstringNoncreated_atSort: hostname, ssl_days_remaining, whois_days_remaining, created_at
orderstringNondescOrder: asc, desc
200OK
{
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "hostname": "example.com",
      "port": 443,
      "is_active": true,
      "ssl_grade": "A+",
      "ssl_days_remaining": 45,
      "whois_days_remaining": 320,
      "tags": ["production"],
      "created_at": "2026-01-15T10:00:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 20,
    "total": 1,
    "total_pages": 1
  }
}
POST/domains

Créer un domaine

Ajoutez un nouveau domaine à votre liste de surveillance. Déclenche automatiquement les vérifications SSL et WHOIS.

Corps de la requête

ParamètreTypeRequisDéfautDescription
hostnamestringOuiDomain FQDN (e.g. example.com)
portintegerNon443SSL port (1-65535)
notesstringNonOptional notes (max 500 chars)
tagsstring[]Non[]Tags (max 10, each max 50 chars)
{
  "hostname": "example.com",
  "port": 443,
  "notes": "Production server",
  "tags": ["production", "web"]
}
201Created
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "hostname": "example.com",
  "port": 443,
  "is_active": true,
  "notes": "Production server",
  "tags": ["production", "web"],
  "ssl_grade": null,
  "ssl_days_remaining": null,
  "whois_days_remaining": null,
  "created_at": "2026-02-23T14:30:00.000Z",
  "updated_at": "2026-02-23T14:30:00.000Z"
}
409Conflict
{
  "error": "This domain is already being monitored"
}
GET/domains/{id}

Obtenir un domaine

Récupérez les détails d'un domaine spécifique.

Paramètres de chemin

ParamètreTypeRequisDéfautDescription
iduuidOuiDomain ID
200OK
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "hostname": "example.com",
  "port": 443,
  "is_active": true,
  "ssl_grade": "A+",
  "ssl_days_remaining": 45,
  "whois_days_remaining": 320,
  "notes": "Production server",
  "tags": ["production"],
  "created_at": "2026-01-15T10:00:00.000Z",
  "updated_at": "2026-02-20T08:00:00.000Z"
}
PUT/domains/{id}

Modifier un domaine

Mettez à jour les propriétés d'un domaine surveillé.

Paramètres de chemin

ParamètreTypeRequisDéfautDescription
iduuidOuiDomain ID

Corps de la requête

ParamètreTypeRequisDéfautDescription
hostnamestringNonDomain FQDN
portintegerNonSSL port (1-65535)
is_activebooleanNonEnable or disable monitoring
notesstringNonOptional notes (max 500 chars)
tagsstring[]NonTags (max 10, each max 50 chars)
{
  "is_active": false,
  "notes": "Deprecated server"
}
200OK
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "hostname": "example.com",
  "port": 443,
  "is_active": false,
  "notes": "Deprecated server",
  "tags": ["production"],
  "ssl_grade": "A+",
  "ssl_days_remaining": 45,
  "whois_days_remaining": 320,
  "created_at": "2026-01-15T10:00:00.000Z",
  "updated_at": "2026-02-23T15:00:00.000Z"
}
DELETE/domains/{id}

Supprimer un domaine

Retirez un domaine de votre liste de surveillance.

Paramètres de chemin

ParamètreTypeRequisDéfautDescription
iduuidOuiDomain ID
200OK
{
  "message": "Domain deleted"
}
404Not Found
{
  "error": "Domain not found"
}

Vérifications SSL

GET/domains/{id}/ssl

Obtenir la dernière vérification SSL

Récupérez la dernière vérification de certificat SSL pour un domaine.

Paramètres de chemin

ParamètreTypeRequisDéfautDescription
iduuidOuiDomain ID
200OK
{
  "id": "660e8400-e29b-41d4-a716-446655440001",
  "domain_id": "550e8400-e29b-41d4-a716-446655440000",
  "subject": "CN=example.com",
  "issuer": "CN=Let's Encrypt Authority X3",
  "valid_from": "2025-12-01T00:00:00.000Z",
  "valid_to": "2026-04-01T00:00:00.000Z",
  "days_remaining": 45,
  "serial_number": "03:a1:b2:c3:...",
  "tls_version": "TLSv1.3",
  "chain_valid": true,
  "hsts": true,
  "sans": ["example.com", "www.example.com"],
  "grade": "A+",
  "checked_at": "2026-02-23T06:00:00.000Z"
}

Vérifications WHOIS

GET/domains/{id}/whois

Obtenir la dernière vérification WHOIS

Récupérez la dernière recherche WHOIS pour un domaine.

Paramètres de chemin

ParamètreTypeRequisDéfautDescription
iduuidOuiDomain ID
200OK
{
  "id": "770e8400-e29b-41d4-a716-446655440002",
  "domain_id": "550e8400-e29b-41d4-a716-446655440000",
  "registrar": "Gandi SAS",
  "created_date": "2020-03-15T00:00:00.000Z",
  "expiry_date": "2027-03-15T00:00:00.000Z",
  "days_remaining": 320,
  "dnssec": false,
  "nameservers": ["ns1.example.com", "ns2.example.com"],
  "checked_at": "2026-02-23T06:00:00.000Z"
}

Vérification manuelle

POST/check

Déclencher une vérification

Déclenchez une vérification SSL et WHOIS immédiate pour un domaine. Limité à 10 requêtes par minute.

Corps de la requête

ParamètreTypeRequisDéfautDescription
domain_iduuidOuiDomain ID to check
{
  "domain_id": "550e8400-e29b-41d4-a716-446655440000"
}
200OK
{
  "ssl": {
    "subject": "CN=example.com",
    "issuer": "CN=Let's Encrypt Authority X3",
    "valid_to": "2026-04-01T00:00:00.000Z",
    "days_remaining": 45,
    "grade": "A+",
    "tls_version": "TLSv1.3",
    "chain_valid": true,
    "checked_at": "2026-02-23T15:30:00.000Z"
  },
  "whois": {
    "registrar": "Gandi SAS",
    "expiry_date": "2027-03-15T00:00:00.000Z",
    "days_remaining": 320,
    "checked_at": "2026-02-23T15:30:00.000Z"
  }
}
429Rate Limited
{
  "error": "Rate limit exceeded. Try again in 60 seconds."
}

Alertes

GET/alerts

Lister les alertes

Récupérez votre historique d'alertes avec un filtrage optionnel par domaine.

Paramètres de requête

ParamètreTypeRequisDéfautDescription
pageintegerNon1Page number
per_pageintegerNon20Items per page (1-100)
domain_iduuidNonFilter by domain ID
200OK
{
  "data": [
    {
      "id": "880e8400-e29b-41d4-a716-446655440003",
      "domain_id": "550e8400-e29b-41d4-a716-446655440000",
      "hostname": "example.com",
      "alert_type": "ssl_expiry",
      "severity": "warning",
      "title": "SSL certificate expires in 30 days",
      "message": "The SSL certificate for example.com expires on 2026-03-25. 30 days remaining.",
      "threshold_days": 30,
      "triggered_at": "2026-02-23T12:00:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 20,
    "total": 1,
    "total_pages": 1
  }
}

Clés API

POST/api-keys

Créer une clé API

Générez une nouvelle clé API. La clé complète n'est renvoyée qu'une seule fois — conservez-la en lieu sûr.

Corps de la requête

ParamètreTypeRequisDéfautDescription
labelstringOuiHuman-readable label
permissionsstring[]Non["read"]Scopes: read, write
expires_atdatetimeNonOptional expiration date (ISO 8601)
{
  "label": "CI/CD Pipeline",
  "permissions": ["read", "write"],
  "expires_at": "2027-01-01T00:00:00.000Z"
}
201Created
{
  "id": "990e8400-e29b-41d4-a716-446655440004",
  "label": "CI/CD Pipeline",
  "key": "ssa_live_abc123def456ghi789...",
  "permissions": ["read", "write"],
  "expires_at": "2027-01-01T00:00:00.000Z",
  "last_used_at": null,
  "created_at": "2026-02-23T16:00:00.000Z"
}
429Rate Limited
{
  "error": "Rate limit exceeded. Try again in 60 seconds."
}