Aller au contenu
AyiID

Référence API

Consentement

Le détenteur voit qui demande quoi et pourquoi, puis approuve ou refuse en signant sa décision (EIP-712).

Contexte du consentement

Renvoie les éléments à présenter au détenteur (qui, quoi, pourquoi) pour une demande donnée. Ces routes alimentent l’écran de consentement, hébergé ou intégré.

GET/consent/:requestIdpublic
ChampTypeDescription
requestIdrequisstringIdentifiant de la demande (paramètre d’URL).
1curl https://api.ayiid.example/consent/req_9f3a...

Soumettre la décision

Le détenteur approuve ou refuse. La décision est signée en EIP-712 (domaine AyiID Consent) par son portefeuille ; le moteur revérifie la signature. En cas d’approbation, une attestation est émise (HTTP 201). En cas de refus, la réponse porte la décision.

POST/consent/:requestIdpublic (décision signée)
ChampTypeDescription
decisionrequisAPPROVED | REJECTEDDécision du détenteur.
disclosedScoperequisstring[]Attributs réellement divulgués (peut être vide en PROOF_ONLY).
holderSignaturerequisstringSignature EIP-712 de la décision par le détenteur.
holderAddressrequisstringAdresse du portefeuille signataire.
1curl -X POST https://api.ayiid.example/consent/req_9f3a... \
2 -H "content-type: application/json" \
3 -d '{
4 "decision": "APPROVED",
5 "disclosedScope": ["is_adult"],
6 "holderSignature": "0x...",
7 "holderAddress": "0x1234abcd...ef01"
8 }'

Réponse en cas d’approbation (HTTP 201) : l’attestation émise. En cas de refus (HTTP 200) : la décision.

Structure signée
La charge signée lie requestId, subject, verifier, decision, l’empreinte du périmètre divulgué (disclosedScopeHash), un nonce et une échéance. Le format typé exact est décrit dans les Concepts.