VerySafe Nous contacter

Développeurs

Deux points d’accès jusqu’au verdict

Lancez une vérification, affichez le lien, lisez le verdict. Requêtes signées, réponses chiffrées, listes de confiance et révocation : tout se passe dans le service.

Langage de l’exemple
curl -X POST "$VERYSAFE_HOST/v1/verifications" \
  -H "Authorization: Bearer $VERYSAFE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "credentialType": "eu_pid", "claims": ["age_equal_or_over.18"] }'
const res = await fetch(process.env.VERYSAFE_HOST + "/v1/verifications", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + process.env.VERYSAFE_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ credentialType: "eu_pid", claims: ["age_equal_or_over.18"] }),
});
const check = await res.json(); // show check.authorizationRequestUri as a QR code
import os, requests

check = requests.post(
    os.environ["VERYSAFE_HOST"] + "/v1/verifications",
    headers={"Authorization": "Bearer " + os.environ["VERYSAFE_KEY"]},
    json={"credentialType": "eu_pid", "claims": ["age_equal_or_over.18"]},
).json()
# show check["authorizationRequestUri"] as a QR code

201 Created

{ "id": "0f6c1a2e…",
  "status": "pending",
  "credentialType": "eu_pid",
  "requestedClaims": ["age_equal_or_over.18"],
  "authorizationRequestUri": "openid4vp://?client_id=…",
  "pollUrl": "/v1/verifications/0f6c1a2e…" }

Démarrage rapide

  1. Obtenez une clé

    Les clés sandbox sont gratuites et couvrent toute l’API.

  2. Lancez une vérification

    Envoyez en POST les attributs nécessaires. Vous recevez un lien et un QR code.

  3. Lisez le verdict

    Interrogez la vérification. Vérifié, ou la raison du refus.

L’API en un coup d’œil

Six points d’accès pour votre application. L’échange avec le portefeuille passe par ses propres points d’accès et ne vous demande rien.

  • GET/v1/credential-typesCe que chaque attestation peut divulguer
  • POST/v1/verificationsLancer une vérification et obtenir un lien portefeuille
  • GET/v1/verifications/{id}Statut et résultat : pending, verified, failed ou expired
  • GET/v1/verdictsVotre historique de verdicts pour les audits, sans valeurs personnelles
  • GET/v1/metricsCompteurs et état de chaque liste de confiance européenne
  • POST/v1/mcpLes mêmes vérifications, en outils pour agents IA

Chaque refus a une raison

Votre application peut agir selon la raison, pas seulement selon le non.

  • Émetteur absent de la liste de confiance européenne
  • Émetteur retiré ou suspendu
  • Attestation révoquée par son émetteur
  • Certificat de l’émetteur révoqué
  • Attestation expirée
  • Preuve non liée à cette demande
  • Statut de révocation invérifiable : la réponse est donc non

Pour les agents IA

Trois outils : list_supported_credential_types, verify_credential et check_verification. L’agent reçoit le verdict et le nom des informations prouvées, jamais leurs valeurs.

tools/call · check_verification
POST /v1/mcp

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call",
  "params": { "name": "check_verification",
    "arguments": { "session_id": "0f6c1a2e…" } } }

→ { "session_id": "0f6c1a2e…",
    "verdict": "verified",
    "credential_type": "eu_pid",
    "disclosed_claim_names": ["age_equal_or_over.18"] }

Obtenir une clé sandbox

Environnement et attestations de test. Aucune carte bancaire requise. Une personne vous répond avec votre clé et la référence complète de l’API.

Ressources

Soyez prêt avant l’échéance

Nos partenaires de conception bénéficient de vérifications gratuites jusqu’au lancement et d’une intégration opérationnelle en quelques semaines.

Nous contacter