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| Champ | Type | Description |
|---|---|---|
requestIdrequis | string | Identifiant 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)| Champ | Type | Description |
|---|---|---|
decisionrequis | APPROVED | REJECTED | Décision du détenteur. |
disclosedScoperequis | string[] | Attributs réellement divulgués (peut être vide en PROOF_ONLY). |
holderSignaturerequis | string | Signature EIP-712 de la décision par le détenteur. |
holderAddressrequis | string | Adresse 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.