Référence de l'API (OpenAPI)

L'API REST complète de Certivant sous forme de document OpenAPI 3.1 — une spécification JSON publique que vous pouvez importer dans Postman ou fournir à un générateur de code, ainsi qu'une référence interactive avec chaque point de terminaison, schéma, portée et événement webhook.

Chaque point de terminaison qu'une clé d'API peut appeler est décrit dans un seul document OpenAPI 3.1. Il est public : aucune connexion, aucune clé ; vous pouvez le récupérer sans risque depuis une chaîne d'intégration continue ou un générateur de code.

Document OpenAPI/api/v1/openapi.json (alias /api/openapi.json)
Référence interactive/api/v1/docs
FormatOpenAPI 3.1.0, JSON
AuthentificationAuthorization: Bearer <API key> — voir Authentification
Mise en cacheCache-Control: public, max-age=300 et un ETag ; envoyez If-None-Match pour recevoir 304 lorsque rien n'a changé

Le document ne contient que la surface accessible par clé d'API (/api/v1/...). Les routes du tableau de bord et d'administration n'en font pas partie.

La référence interactive de l'API à /api/v1/docs — la liste des opérations regroupées par étiquette à gauche, l'introduction avec l'URL de base et l'authentification au centre, et les panneaux du serveur, de l'authentification et des bibliothèques clientes à droite.

Ce que le document vous indique

  • Chaque opération possède une étiquette (Vérifications, KYB, Documents, Formulaires, Livraisons, Vérification en direct, Signaux de fraude, EDD, Confidentialité, Analyses, Audit, Réutilisation), un operationId stable pour les clients générés, ainsi que les schémas de requête et de réponse.
  • Portées. Chaque opération indique la portée dont elle a besoin dans x-required-scope, et chaque portée qui la satisfait également dans x-accepted-scopes — les portées générales kyc:* et les portées par ressource telles que verifications:read ou forms:write. Une opération sans x-required-scope accepte toute clé valide.
  • Erreurs. Chaque opération liste les réponses d'erreur qu'elle peut renvoyer (400, 401, 402, 403, 404, 409, 429, 502), toutes utilisant l'enveloppe d'erreur unique décrite dans Erreurs.
  • Limites de débit. Les réponses en succès déclarent les en-têtes X-RateLimit-* ; voir Limites de débit.
  • Webhooks. La section webhooks liste chaque événement que nous envoyons, avec son schéma de charge utile et la manière de vérifier la signature. Voir Événements webhook et Vérification de la signature.

Référence interactive

Parcourez chaque point de terminaison, lisez les schémas et construisez vos requêtes directement ici. Utilisez le panneau Authentification pour coller une clé d'API et envoyer des requêtes en production.

Si le cadre ne se charge pas, ouvrez directement la référence à l'adresse /api/v1/docs.

Télécharger le document OpenAPI

# Save the spec
curl -sS https://app.certivant.com/api/v1/openapi.json -o certivant-openapi.json

# Only download again when it changed
curl -sS -D - -o /dev/null \
  -H 'If-None-Match: "<etag from your last download>"' \
  https://app.certivant.com/api/v1/openapi.json
import { writeFile } from "node:fs/promises";

const res = await fetch("https://app.certivant.com/api/v1/openapi.json");
if (!res.ok) throw new Error(`Spec download failed: ${res.status}`);

const spec = await res.json();
console.log(spec.info.title, spec.info.version, Object.keys(spec.paths).length, "paths");

await writeFile("certivant-openapi.json", JSON.stringify(spec, null, 2));
import json
import urllib.request

with urllib.request.urlopen("https://app.certivant.com/api/v1/openapi.json") as res:
    spec = json.load(res)

print(spec["info"]["title"], spec["info"]["version"], len(spec["paths"]), "paths")

with open("certivant-openapi.json", "w") as f:
    json.dump(spec, f, indent=2)

Utilisation

Postman, Insomnia, Bruno. Importez l'URL https://app.certivant.com/api/v1/openapi.json. Définissez une variable d'environnement pour votre clé et utilisez-la comme jeton Bearer sur la collection.

Générer un client. Tout générateur compatible avec OpenAPI 3.1 fonctionne. Par exemple avec le CLI OpenAPI Generator :

npx @openapitools/openapi-generator-cli generate \
  -i https://app.certivant.com/api/v1/openapi.json \
  -g typescript-fetch \
  -o ./certivant-client

Les identifiants d'opération tels que createVerification, submitVerification et getVerification deviennent les noms de méthodes. Définissez l'URL du serveur et un jeton Bearer dans la configuration du client généré.

Appeler l'API sans client. Une première requête n'a besoin que de la clé :

curl -sS https://app.certivant.com/api/v1/kyc/requests?limit=5 \
  -H "Authorization: Bearer $CERTIVANT_API_KEY"

Suivre les évolutions

Le document est généré à partir de l'API en cours d'exécution ; il correspond donc toujours aux points de terminaison déployés. Téléchargez-le à nouveau (avec l'ETag) lorsque vous régénérez un client. Considérez les objets de réponse comme ouverts : ignorez les champs que vous ne connaissez pas, car de nouveaux champs facultatifs peuvent apparaître.