Aller au contenu
AyiID

Référence API

Vérification

Le cœur du produit : un vérificateur crée une demande pour un sujet, le détenteur consent, un résultat en découle.

Créer une demande

Réservé au rôle verifier. La demande est taguée avec l’environnement du jeton (isolation SANDBOX / PRODUCTION).

POST/verify/requestrôle : verifier
ChampTypeDescription
subjectRefrequisstringDID du sujet. Jamais de PII.
scoperequisstring[]Attributs demandés (au moins un), ex. ["identity", "is_adult"].
reasonrequisstringMotif lisible présenté au détenteur.
modePROOF_ONLY | SELECTIVEMode de divulgation. Défaut : PROOF_ONLY.
callbackUrlstring (url)URL de webhook notifiée à l’issue de la demande.
requireLivenessobjetExigence optionnelle de preuve du vivant (voir ci-dessous).

L’objet requireLiveness, s’il est présent, exige qu’un humain vivant contrôle l’identité :

ChampTypeDescription
requireLiveness.minLevelrequisL1 | L2 | L3Niveau minimal de PoLP requis.
requireLiveness.maxAgeDaysnumber (1–365)Fraîcheur maximale acceptée. Défaut : 30.
1curl -X POST https://api.ayiid.example/verify/request \
2 -H "authorization: Bearer $ACCESS_TOKEN" \
3 -H "content-type: application/json" \
4 -d '{
5 "subjectRef": "did:ayi:z6Mkf...abcd",
6 "scope": ["identity", "is_adult"],
7 "reason": "Ouverture de compte",
8 "mode": "PROOF_ONLY",
9 "callbackUrl": "https://exemple.com/webhooks/ayiid",
10 "requireLiveness": { "minLevel": "L2", "maxAgeDays": 30 }
11 }'

Réponse (HTTP 201) :

1{
2 "requestId": "req_9f3a...",
3 "status": "PENDING",
4 "message": "Demande de verification creee."
5}

Consulter une demande

Renvoie l’état courant d’une demande.

GET/verify/request/:idpublic
ChampTypeDescription
idrequisstringIdentifiant de la demande (paramètre d’URL).
1curl https://api.ayiid.example/verify/request/req_9f3a...

Statuts d’une demande

ChampTypeDescription
PENDINGen attenteDemande créée, décision du détenteur attendue.
APPROVEDapprouvéeLe détenteur a consenti ; une attestation est émise.
REJECTEDrefuséeLe détenteur a refusé.
EXPIREDexpiréeDélai dépassé.
CANCELLEDannuléeDemande annulée.
Suite du flux
Une fois la demande créée, présentez au détenteur l’URL hébergée de consentement (voir Consentement). La décision signée déclenche l’émission de l’attestation, puis, si configuré, le webhook signé.