Référence API
Identité
Émission d’une identité pseudonyme, consultation de statut, et la liaison puce-personne (chip-verify), pierre angulaire anti-fraude.
Émettre une identité
Lance une vérification KYC via le fournisseur, puis crée l’identité. La charge utile payload (photos, champs) est transmise au fournisseur mais n’est pas stockée.
/identity/issuepublic| Champ | Type | Description |
|---|---|---|
subjectRefrequis | string | Référence du sujet (jamais de PII brute persistée). |
countryCode | string (2–3) | Code pays ISO du document. |
walletAddress | 0x + 40 hex | Adresse du portefeuille liée au porteur (login par signature, re-vérification du consentement). |
payload | unknown | Charge utile opaque transmise au fournisseur. Non stockée. |
1curl -X POST https://api.ayiid.example/identity/issue \2 -H "content-type: application/json" \3 -d '{4 "subjectRef": "ref-usager-123",5 "countryCode": "BJ",6 "walletAddress": "0x1234abcd...ef01"7 }'
Consulter le statut
/identity/:did/statuspublic| Champ | Type | Description |
|---|---|---|
didrequis | string | DID de l’identité. |
1curl https://api.ayiid.example/identity/did:ayi:z6Mkf.../status
Suivre une revue manuelle
Statut d’une demande en revue manuelle (mode intérim), sans PII.
/identity/review/:idpublicLiaison puce-personne (chip-verify)
Réservé au rôle holder ; l’identité concernée provient toujours du jeton. L’appareil lit la puce en NFC et transmet le SOD et les groupes de données bruts. Le moteur exécute la vraie Passive Authentication (chaîne CSCA → DSC → SOD, concordance des condensats), la porte de vivacité, et, si les gabarits de visage sont fournis, le face-match. L’attestation signée est émise et ancrée on-chain au mieux.
/identity/chip-verifyrôle : holder| Champ | Type | Description |
|---|---|---|
sodBase64requis | string (base64) | SOD (ContentInfo CMS) lu dans la puce, DER encodé en base64. |
dataGroupsrequis | { number, contentBase64 }[] | Groupes lus (au moins DG1 pour l’identité ; DG2 pour le face-match). |
livenessAttestationIdrequis | string | Référence d’une attestation de vivacité réelle déjà émise pour ce porteur. |
liveFaceTemplate | string | Embedding opaque du visage capturé en direct. Optionnel (PA_ONLY si absent). |
chipFaceTemplate | string | Embedding opaque du visage de la puce (DG2), calculé sur l’appareil. Optionnel. |
PA_ONLY) ; avec les deux, la liaison visage-vivant complète (PA_FACE) est conservée.1curl -X POST https://api.ayiid.example/identity/chip-verify \2 -H "authorization: Bearer $HOLDER_TOKEN" \3 -H "content-type: application/json" \4 -d '{5 "sodBase64": "MIIF...",6 "dataGroups": [{ "number": 1, "contentBase64": "YWJj..." }],7 "livenessAttestationId": "liv_...",8 "liveFaceTemplate": "...",9 "chipFaceTemplate": "..."10 }'
Réponse : { "status": "VERIFIED", "attestation": { ... } }
Mes liaisons actives
/identity/chip-bindings/merôle : holderRenvoie les attestations de liaison actives du porteur. Voir aussi Preuve de personne vivante.