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_hereURL de base
Toutes les requêtes API utilisent l'URL de base suivante :
https://app.ssltrackr.com/api/v1Limitation 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 minutePOST /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"
}| Statut | Description |
|---|---|
400 | Bad Request — Invalid parameters |
401 | Unauthorized — Missing or invalid API key |
403 | Forbidden — Insufficient permissions |
404 | Not Found — Resource does not exist |
409 | Conflict — Resource already exists |
429 | Too Many Requests — Rate limit exceeded |
500 | Internal Server Error |
Domaines
/domainsLister 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ètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
page | integer | Non | 1 | Page number |
per_page | integer | Non | 20 | Items per page (1-100) |
status | string | Non | all | Filter: all, valid, warning, critical, expired, error |
search | string | Non | — | Search by hostname |
sort | string | Non | created_at | Sort: hostname, ssl_days_remaining, whois_days_remaining, created_at |
order | string | Non | desc | Order: asc, desc |
{
"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
}
}/domainsCré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ètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
hostname | string | Oui | — | Domain FQDN (e.g. example.com) |
port | integer | Non | 443 | SSL port (1-65535) |
notes | string | Non | — | Optional notes (max 500 chars) |
tags | string[] | Non | [] | Tags (max 10, each max 50 chars) |
{
"hostname": "example.com",
"port": 443,
"notes": "Production server",
"tags": ["production", "web"]
}{
"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"
}{
"error": "This domain is already being monitored"
}/domains/{id}Obtenir un domaine
Récupérez les détails d'un domaine spécifique.
Paramètres de chemin
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
id | uuid | Oui | — | Domain ID |
{
"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"
}/domains/{id}Modifier un domaine
Mettez à jour les propriétés d'un domaine surveillé.
Paramètres de chemin
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
id | uuid | Oui | — | Domain ID |
Corps de la requête
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
hostname | string | Non | — | Domain FQDN |
port | integer | Non | — | SSL port (1-65535) |
is_active | boolean | Non | — | Enable or disable monitoring |
notes | string | Non | — | Optional notes (max 500 chars) |
tags | string[] | Non | — | Tags (max 10, each max 50 chars) |
{
"is_active": false,
"notes": "Deprecated server"
}{
"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"
}/domains/{id}Supprimer un domaine
Retirez un domaine de votre liste de surveillance.
Paramètres de chemin
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
id | uuid | Oui | — | Domain ID |
{
"message": "Domain deleted"
}{
"error": "Domain not found"
}Vérifications SSL
/domains/{id}/sslObtenir 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ètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
id | uuid | Oui | — | Domain ID |
{
"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
/domains/{id}/whoisObtenir la dernière vérification WHOIS
Récupérez la dernière recherche WHOIS pour un domaine.
Paramètres de chemin
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
id | uuid | Oui | — | Domain ID |
{
"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
/checkDé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ètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
domain_id | uuid | Oui | — | Domain ID to check |
{
"domain_id": "550e8400-e29b-41d4-a716-446655440000"
}{
"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"
}
}{
"error": "Rate limit exceeded. Try again in 60 seconds."
}Alertes
/alertsLister les alertes
Récupérez votre historique d'alertes avec un filtrage optionnel par domaine.
Paramètres de requête
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
page | integer | Non | 1 | Page number |
per_page | integer | Non | 20 | Items per page (1-100) |
domain_id | uuid | Non | — | Filter by domain ID |
{
"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
/api-keysCré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ètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
label | string | Oui | — | Human-readable label |
permissions | string[] | Non | ["read"] | Scopes: read, write |
expires_at | datetime | Non | — | Optional expiration date (ISO 8601) |
{
"label": "CI/CD Pipeline",
"permissions": ["read", "write"],
"expires_at": "2027-01-01T00:00:00.000Z"
}{
"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"
}{
"error": "Rate limit exceeded. Try again in 60 seconds."
}