Riferimento API (OpenAPI)
L'intera API REST di Certivant come documento OpenAPI 3.1 — una specifica JSON pubblica che può importare in Postman o dare in pasto a un generatore di codice, più un riferimento interattivo con ogni endpoint, schema, ambito ed evento webhook.
Ogni endpoint che una chiave API può chiamare è descritto in un unico documento OpenAPI 3.1. È pubblico: nessun accesso, nessuna chiave, sicuro da scaricare da una CI o da un generatore di codice.
| Documento OpenAPI | /api/v1/openapi.json (alias /api/openapi.json) |
| Riferimento interattivo | /api/v1/docs |
| Formato | OpenAPI 3.1.0, JSON |
| Autenticazione | Authorization: Bearer <API key> — vedi Autenticazione |
| Cache | Cache-Control: public, max-age=300 e un ETag; invii If-None-Match per ottenere 304 quando nulla è cambiato |
Il documento contiene solo la superficie delle chiavi API (/api/v1/...). Le route della dashboard e dell'amministrazione non ne fanno parte.

Che cosa dice il documento
- Ogni operazione ha un tag (Verifications, KYB, Documents, Forms, Deliveries, Live verification, Fraud signals, EDD, Privacy, Analytics, Audit, Reuse), un
operationIdstabile per i client generati, e gli schemi di richiesta e risposta. - Ambiti. Ogni operazione elenca l'ambito di cui ha bisogno in
x-required-scopee ogni ambito che la soddisfa inx-accepted-scopes— gli ambiti generalikyc:*e gli ambiti per risorsa, comeverifications:readoforms:write. Un'operazione senzax-required-scopeaccetta qualsiasi chiave valida. - Errori. Ogni operazione elenca le risposte di errore che può restituire (
400,401,402,403,404,409,429,502), e tutte usano la stessa busta di errore descritta in Errori. - Limiti di frequenza. Le risposte di successo dichiarano le intestazioni
X-RateLimit-*; vedi Limiti di frequenza. - Webhook. La sezione
webhookselenca ogni evento che inviamo, con lo schema del suo payload e il modo di verificarne la firma. Vedi Eventi webhook e Verifica della firma.
Riferimento interattivo
Sfogli ogni endpoint, legga gli schemi e costruisca richieste direttamente qui. Usi il pannello Autenticazione per incollare una chiave API e inviare richieste reali.
Se il riquadro non si carica, apra il riferimento direttamente su /api/v1/docs.
Scarichi il documento 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)
Come usarlo
Postman, Insomnia, Bruno. Importi l'URL https://app.certivant.com/api/v1/openapi.json. Imposti una variabile d'ambiente per la Sua chiave e la usi come token bearer sulla collezione.
Generi un client. Qualsiasi generatore OpenAPI 3.1 funziona. Per esempio con la CLI di OpenAPI Generator:
npx @openapitools/openapi-generator-cli generate \
-i https://app.certivant.com/api/v1/openapi.json \
-g typescript-fetch \
-o ./certivant-client
Gli ID delle operazioni come createVerification, submitVerification e getVerification diventano i nomi dei metodi. Imposti l'URL del server e un token bearer nella configurazione del client generato.
Lo chiami senza un client. Una prima richiesta richiede solo la chiave:
curl -sS https://app.certivant.com/api/v1/kyc/requests?limit=5 \
-H "Authorization: Bearer $CERTIVANT_API_KEY"
Restare al passo con le modifiche
Il documento viene generato dall'API in esecuzione, quindi corrisponde sempre agli endpoint distribuiti. Lo riscarichi (con l'ETag) quando rigenera un client. Consideri gli oggetti di risposta come aperti: ignori i campi che non conosce, perché possono comparire nuovi campi facoltativi.
Sicurezza e limiti
Come il server MCP di Certivant suddivide per livelli i dati personali, avvolge il testo controllato dal richiedente in una busta non attendibile, limita i solleciti a 24 ore e condivide il limite di 120 richieste al minuto per tenant — e la lacuna di audit che non va nascosta.
Errori
Ogni codice di errore dell'API di Certivant spiegato — forma della risposta, corrispondenza con gli stati HTTP, indicazioni di gestione per ciascun codice e un robusto wrapper per i nuovi tentativi da inserire nella Sua integrazione.