Aller au contenu

Vérifier une entrée

GET
/v1/check
curl --request GET \
--url 'https://api.arnakoff.com/v1/check?q=armen.ltd&type=domain' \
--header 'Authorization: Bearer <token>'

Détecte le type de l’entrée (sauf si type est donné), la normalise, puis consulte les sources qui la couvrent. Une source qui ne répond pas est marquée indisponible dans sources : la vérification n’échoue pas pour autant.

q
required
string
>= 1 characters

L’entrée telle que l’utilisateur l’a collée : un domaine, une URL, une adresse e-mail, un numéro de téléphone, un IBAN, un SIREN ou un SIRET.

Example

armen.ltd
type

Type d’une entrée. Une URL est vérifiée comme son domaine (domain).

string
Allowed values: domain email phone iban siren siret

Force le type de l’entrée au lieu de le détecter.

Example

domain

Rapport de la vérification.

Media typeapplication/json

Rapport de la vérification d’une entrée.

object
input
required

L’entrée normalisée qui a été vérifiée, comme le domaine extrait d’une URL. Pour une adresse e-mail, un numéro de téléphone ou un IBAN, c’est une donnée personnelle : la réponse n’est jamais mise en cache.

string
type
required

Type d’une entrée. Une URL est vérifiée comme son domaine (domain).

string
Allowed values: domain email phone iban siren siret
checked_at
required

Heure de la vérification.

string format: date-time
summary
required

« Aucun signal connu dans nos sources » quand signals est vide, null sinon : les signaux parlent d’eux-mêmes. Ce n’est jamais une garantie.

string | null
Allowed values: Aucun signal connu dans nos sources
signals
required

Les signaux, du plus grave au moins grave.

Array<object>

Un fait sourcé sur l’entrée vérifiée.

object
code
required

Identifiant stable de la règle (liste ouverte, voir GET /v1/signals) : un nouveau code peut apparaître sans changer de version.

string
/^[a-z][a-z0-9_]*$/
level
required

Gravité d’un signal, de la plus faible à la plus forte : info (fait neutre), attention (indice à vérifier avant d’agir), alerte (fait publié par une autorité, comme une inscription sur une liste noire).

string
Allowed values: info attention alerte
message
required

Une phrase factuelle en français qui dit ce qui a été observé.

string
>= 1 characters
advice

Conseil facultatif en français, absent quand le signal n’en a pas.

string
>= 1 characters
source
required

Nom d’une source, tel qu’il est montré aux utilisateurs.

string
>= 1 characters
source_url
required

Page publique où le fait se vérifie.

string format: uri
observed_at
required

Heure à laquelle le fait a été lu à la source : téléchargement de la liste en service, ou heure de la vérification pour un registre interrogé à la demande.

string format: date-time
sources
required

L’état de chaque source pour cette vérification.

Array<object>

L’état d’une source pour une vérification.

object
source
required

Nom d’une source, tel qu’il est montré aux utilisateurs.

string
>= 1 characters
status
required

Rôle d’une source dans une vérification : ok (consultée), indisponible (pas consultée : l’absence de signal de cette source ne prouve rien), non_applicable (ne couvre pas ce type d’entrée).

string
Allowed values: ok indisponible non_applicable

Examples

Domaine inscrit sur la liste noire de l'AMF

{
"input": "armen.ltd",
"type": "domain",
"checked_at": "2026-11-02T08:25:53Z",
"summary": null,
"signals": [
{
"code": "amf_blacklist",
"level": "alerte",
"message": "Figure sur la liste noire de l'AMF (catégorie Usurpation) depuis le 08/10/2026.",
"source": "AMF",
"source_url": "https://www.amf-france.org/fr/espace-epargnants/proteger-son-epargne/listes-noires-et-mises-en-garde",
"observed_at": "2026-11-02T08:14:42Z"
}
],
"sources": [
{
"source": "AMF",
"status": "ok"
},
{
"source": "ACPR",
"status": "indisponible"
},
{
"source": "AMF PSAN",
"status": "ok"
},
{
"source": "AMF biens divers",
"status": "ok"
},
{
"source": "ARCEP",
"status": "non_applicable"
},
{
"source": "RDAP",
"status": "ok"
},
{
"source": "SIRENE",
"status": "non_applicable"
},
{
"source": "BODACC",
"status": "non_applicable"
}
]
}
RateLimit
required
string

Quota restant de la politique en cours, selon draft-ietf-httpapi-ratelimit-headers-11 : r, requêtes encore permises maintenant ; t, secondes avant qu’une requête de plus soit rendue (pendant ce délai, pas plus de r requêtes), 0 quand le quota est entier.

Example
"key";r=59;t=1
RateLimit-Policy
required
string

Politique de quota, selon draft-ietf-httpapi-ratelimit-headers-11 : q, requêtes permises par fenêtre ; w, fenêtre en secondes. Le quota entier peut être dépensé d’un coup, puis il revient au même rythme sur la fenêtre. Politique key sur les routes de vérification, par clé API (un lot compte pour une requête) ; politique ip sur les routes sans clé, par adresse du client (préfixe /64 en IPv6) ; politique auth sur les routes de vérification, par adresse du client, qui compte les clés refusées (mal formées, inconnues ou révoquées) : une fois ce quota dépensé, les clés envoyées depuis cette adresse ne sont plus vérifiées et la réponse est 429, même pour une clé valide. La politique auth n’apparaît que sur ses réponses 429. Sur POST /v1/demo/check, politique demo par adresse du client et politique demo_global pour tous les clients ensemble, qui n’apparaît que sur ses réponses 429. Sur POST /v1/keys/request et POST /v1/keys/redeem, politique key_request par adresse du client. Valeurs de l’exemple données à titre d’illustration : les quotas dépendent de l’offre.

Example
"key";q=60;w=60

Requête mal formée, par exemple sans paramètre q.

Media typeapplication/problem+json

Erreur au format RFC 9457 (application/problem+json).

object
type
required

Adresse de la page du site qui documente ce type d’erreur : la documentation des erreurs suivie du code.

string format: uri
title
required

Résumé du type d’erreur, en français, le même pour toutes ses occurrences.

string
status
required

Code de statut HTTP de la réponse.

integer
>= 400 <= 599
detail
required

Explication de cette occurrence, en français. Ne cite jamais une donnée personnelle.

string
instance

Identifiant de cette occurrence : l’URI tag:arnakoff.com,2026:request: suivie de l’identifiant de la requête, celui de l’en-tête X-Request-ID de la réponse. À citer quand on signale un problème. Absent d’une erreur d’un élément de POST /v1/check/batch.

string format: uri-reference
code
required

Identifiant stable du type d’erreur (liste ouverte). Chaque code a un exemple Problem… dans ce contrat.

string
/^[a-z][a-z0-9_]*$/

Examples

Paramètre q absent

{
"type": "https://arnakoff.com/docs/erreurs/missing_parameter",
"title": "Paramètre manquant",
"status": 400,
"detail": "Le paramètre q est obligatoire.",
"instance": "tag:arnakoff.com,2026:request:7NQJ4ZWKX3C5RB2D6HVMTPLE9A",
"code": "missing_parameter"
}

Clé API absente, mal formée, inconnue ou révoquée.

Media typeapplication/problem+json

Erreur au format RFC 9457 (application/problem+json).

object
type
required

Adresse de la page du site qui documente ce type d’erreur : la documentation des erreurs suivie du code.

string format: uri
title
required

Résumé du type d’erreur, en français, le même pour toutes ses occurrences.

string
status
required

Code de statut HTTP de la réponse.

integer
>= 400 <= 599
detail
required

Explication de cette occurrence, en français. Ne cite jamais une donnée personnelle.

string
instance

Identifiant de cette occurrence : l’URI tag:arnakoff.com,2026:request: suivie de l’identifiant de la requête, celui de l’en-tête X-Request-ID de la réponse. À citer quand on signale un problème. Absent d’une erreur d’un élément de POST /v1/check/batch.

string format: uri-reference
code
required

Identifiant stable du type d’erreur (liste ouverte). Chaque code a un exemple Problem… dans ce contrat.

string
/^[a-z][a-z0-9_]*$/

Examples

Clé API manquante

{
"type": "https://arnakoff.com/docs/erreurs/missing_api_key",
"title": "Clé API manquante",
"status": 401,
"detail": "Cette ressource demande une clé API, envoyée dans l'en-tête Authorization avec le schéma Bearer.",
"instance": "tag:arnakoff.com,2026:request:7NQJ4ZWKX3C5RB2D6HVMTPLE9A",
"code": "missing_api_key"
}
WWW-Authenticate
required
string

Défi d’authentification (RFC 6750, section 3) : Bearer realm="arnakoff" sans clé, suivi de error="invalid_token" pour une clé refusée.

Example
Bearer realm="arnakoff", error="invalid_token"

Entrée reconnue comme d’aucun type, ou invalide pour le type donné.

Media typeapplication/problem+json

Erreur au format RFC 9457 (application/problem+json).

object
type
required

Adresse de la page du site qui documente ce type d’erreur : la documentation des erreurs suivie du code.

string format: uri
title
required

Résumé du type d’erreur, en français, le même pour toutes ses occurrences.

string
status
required

Code de statut HTTP de la réponse.

integer
>= 400 <= 599
detail
required

Explication de cette occurrence, en français. Ne cite jamais une donnée personnelle.

string
instance

Identifiant de cette occurrence : l’URI tag:arnakoff.com,2026:request: suivie de l’identifiant de la requête, celui de l’en-tête X-Request-ID de la réponse. À citer quand on signale un problème. Absent d’une erreur d’un élément de POST /v1/check/batch.

string format: uri-reference
code
required

Identifiant stable du type d’erreur (liste ouverte). Chaque code a un exemple Problem… dans ce contrat.

string
/^[a-z][a-z0-9_]*$/

Examples

Entrée d'aucun type reconnu

{
"type": "https://arnakoff.com/docs/erreurs/invalid_input",
"title": "Entrée invalide",
"status": 422,
"detail": "L'entrée n'est ni un domaine, ni une URL, ni une adresse e-mail, ni un numéro de téléphone, ni un IBAN, ni un SIREN, ni un SIRET.",
"instance": "tag:arnakoff.com,2026:request:7NQJ4ZWKX3C5RB2D6HVMTPLE9A",
"code": "invalid_input"
}

Quota dépassé : celui de la clé (key), de l’adresse (ip), des clés refusées depuis l’adresse (auth), de l’accès de démonstration (demo, demo_global) ou des demandes de clé (key_request), nommé dans RateLimit-Policy.

Media typeapplication/problem+json

Erreur au format RFC 9457 (application/problem+json).

object
type
required

Adresse de la page du site qui documente ce type d’erreur : la documentation des erreurs suivie du code.

string format: uri
title
required

Résumé du type d’erreur, en français, le même pour toutes ses occurrences.

string
status
required

Code de statut HTTP de la réponse.

integer
>= 400 <= 599
detail
required

Explication de cette occurrence, en français. Ne cite jamais une donnée personnelle.

string
instance

Identifiant de cette occurrence : l’URI tag:arnakoff.com,2026:request: suivie de l’identifiant de la requête, celui de l’en-tête X-Request-ID de la réponse. À citer quand on signale un problème. Absent d’une erreur d’un élément de POST /v1/check/batch.

string format: uri-reference
code
required

Identifiant stable du type d’erreur (liste ouverte). Chaque code a un exemple Problem… dans ce contrat.

string
/^[a-z][a-z0-9_]*$/

Examples

Examplequota

Quota dépassé

{
"type": "https://arnakoff.com/docs/erreurs/too_many_requests",
"title": "Trop de requêtes",
"status": 429,
"detail": "Le quota de requêtes est atteint. Réessaie après le délai de l'en-tête Retry-After.",
"instance": "tag:arnakoff.com,2026:request:7NQJ4ZWKX3C5RB2D6HVMTPLE9A",
"code": "too_many_requests"
}
RateLimit
required
string

Quota restant de la politique en cours, selon draft-ietf-httpapi-ratelimit-headers-11 : r, requêtes encore permises maintenant ; t, secondes avant qu’une requête de plus soit rendue (pendant ce délai, pas plus de r requêtes), 0 quand le quota est entier.

Example
"key";r=59;t=1
RateLimit-Policy
required
string

Politique de quota, selon draft-ietf-httpapi-ratelimit-headers-11 : q, requêtes permises par fenêtre ; w, fenêtre en secondes. Le quota entier peut être dépensé d’un coup, puis il revient au même rythme sur la fenêtre. Politique key sur les routes de vérification, par clé API (un lot compte pour une requête) ; politique ip sur les routes sans clé, par adresse du client (préfixe /64 en IPv6) ; politique auth sur les routes de vérification, par adresse du client, qui compte les clés refusées (mal formées, inconnues ou révoquées) : une fois ce quota dépensé, les clés envoyées depuis cette adresse ne sont plus vérifiées et la réponse est 429, même pour une clé valide. La politique auth n’apparaît que sur ses réponses 429. Sur POST /v1/demo/check, politique demo par adresse du client et politique demo_global pour tous les clients ensemble, qui n’apparaît que sur ses réponses 429. Sur POST /v1/keys/request et POST /v1/keys/redeem, politique key_request par adresse du client. Valeurs de l’exemple données à titre d’illustration : les quotas dépendent de l’offre.

Example
"key";q=60;w=60
Retry-After
required
integer

Secondes à attendre avant de réessayer (RFC 9110, section 10.2.3).

Example
30

Erreur interne du serveur.

Media typeapplication/problem+json

Erreur au format RFC 9457 (application/problem+json).

object
type
required

Adresse de la page du site qui documente ce type d’erreur : la documentation des erreurs suivie du code.

string format: uri
title
required

Résumé du type d’erreur, en français, le même pour toutes ses occurrences.

string
status
required

Code de statut HTTP de la réponse.

integer
>= 400 <= 599
detail
required

Explication de cette occurrence, en français. Ne cite jamais une donnée personnelle.

string
instance

Identifiant de cette occurrence : l’URI tag:arnakoff.com,2026:request: suivie de l’identifiant de la requête, celui de l’en-tête X-Request-ID de la réponse. À citer quand on signale un problème. Absent d’une erreur d’un élément de POST /v1/check/batch.

string format: uri-reference
code
required

Identifiant stable du type d’erreur (liste ouverte). Chaque code a un exemple Problem… dans ce contrat.

string
/^[a-z][a-z0-9_]*$/

Examples

Exampleinternal

Erreur interne

{
"type": "https://arnakoff.com/docs/erreurs/internal_error",
"title": "Erreur interne",
"status": 500,
"detail": "Le serveur a rencontré une erreur. Réessaie plus tard.",
"instance": "tag:arnakoff.com,2026:request:7NQJ4ZWKX3C5RB2D6HVMTPLE9A",
"code": "internal_error"
}

La clé API ne peut pas être vérifiée pour le moment.

Media typeapplication/problem+json

Erreur au format RFC 9457 (application/problem+json).

object
type
required

Adresse de la page du site qui documente ce type d’erreur : la documentation des erreurs suivie du code.

string format: uri
title
required

Résumé du type d’erreur, en français, le même pour toutes ses occurrences.

string
status
required

Code de statut HTTP de la réponse.

integer
>= 400 <= 599
detail
required

Explication de cette occurrence, en français. Ne cite jamais une donnée personnelle.

string
instance

Identifiant de cette occurrence : l’URI tag:arnakoff.com,2026:request: suivie de l’identifiant de la requête, celui de l’en-tête X-Request-ID de la réponse. À citer quand on signale un problème. Absent d’une erreur d’un élément de POST /v1/check/batch.

string format: uri-reference
code
required

Identifiant stable du type d’erreur (liste ouverte). Chaque code a un exemple Problem… dans ce contrat.

string
/^[a-z][a-z0-9_]*$/

Examples

Exampleunavailable

Authentification indisponible

{
"type": "https://arnakoff.com/docs/erreurs/authentication_unavailable",
"title": "Authentification indisponible",
"status": 503,
"detail": "La clé API ne peut pas être vérifiée pour le moment. Réessaie plus tard.",
"instance": "tag:arnakoff.com,2026:request:7NQJ4ZWKX3C5RB2D6HVMTPLE9A",
"code": "authentication_unavailable"
}