Entwickler — API-Schlüssel & REST-API
Stellen Sie API-Schlüssel aus und verwalten Sie sie, konfigurieren Sie Scopes und nutzen Sie die REST-API von Certivant, um Verifizierungsanfragen zu erstellen und den KYC-Status aus Ihren eigenen Systemen programmgesteuert abzugleichen.
Was passiert hier?
Die REST-API von Certivant ermöglicht es Ihren eigenen Systemen, Verifizierungsanfragen anzulegen, Dokumente hochzuladen und den Status abzurufen, ohne das Dashboard zu nutzen. Es gibt zwei Hauptanwendungsfälle:
- Verifizierung in den eigenen Onboarding-Ablauf einbetten. Ihr Anmeldeformular sendet die Daten an Ihr Backend, das Backend ruft Certivant auf, und der Antragsteller erhält einen Link zur gehosteten Prüfung von Certivant.
- Verifizierungsstatus in Data Warehouse oder CRM synchronisieren. In Kombination mit Webhooks aktualisieren sich Ihre Systeme bei Statusänderungen.
Die Authentifizierung der API erfolgt über API-Schlüssel, die Sie im Dashboard ausstellen. Die vollständige Endpunkt-Dokumentation finden Sie unter /app/{your-org}/kyc/developer. Diese Seite behandelt die Verwaltung der Schlüssel und einen konzeptionellen Überblick.
Wo finden Sie es?
KYC → Entwickler in der linken Seitenleiste. (API-Schlüssel befanden sich früher unter den KYC/B-Einstellungen. Sie haben jetzt eine eigene Startseite für Entwickler.)
Das Entwicklerportal ist ein zentraler Bereich mit einem Menü auf der linken Seite:
- Übersicht & Schnellstart — Ihre Basis-URL, die Authentifizierung und eine Anfrage zum Kopieren in 8 Sprachen (cURL, JavaScript, TypeScript, Python, PHP, Go, Java, C#). Die Beispiele sind mit Ihrem echten Host und einem Platzhalter für Ihren Schlüssel vorausgefüllt.
- API-Schlüssel — Ihre Schlüssel auflisten, erstellen und widerrufen.
- Endpunkt-Referenz — jeder Endpunkt der Integration (
/v1) mit Methode, Pfad, Scopes und Parametern, dazu ein Link zum interaktiven API-Playground. - Webhook-Handler — fertige Handler mit Signaturprüfung in 6 Sprachen (siehe auch Webhooks).
- Ratenbegrenzung — das wirksame Limit Ihrer Organisation pro Minute, nur lesend angezeigt.
- FAQ — die Fragen, die Integratoren am häufigsten stellen.
API-Schlüssel ausstellen
Auf Neuer Schlüssel klicken
Die Karte API-Schlüssel oben auf der Seite Entwickler listet Ihre Schlüssel mit Umgebung, Berechtigungen, Erstellungsdatum und letzter Verwendung auf. Jede Zeile hat Schaltflächen zum Bearbeiten, Rotieren und Widerrufen des Schlüssels.

Ein Dialog öffnet sich.

Benennen
Wählen Sie eine Bezeichnung, die verrät, wo der Schlüssel verwendet wird: „Produktions-Backend (Heroku)“, „CI-Pipeline“, „Lokale Entwicklung — Laptop von Alice“. Der Name erscheint im Audit-Protokoll bei jeder API-Aktion.
Scopes auswählen
Berechtigungen werden pro Schlüssel vergeben. Es gibt zwei Wege, sie zu gewähren, und Sie können beide kombinieren:
| Scope | Was er erlaubt |
|---|---|
kyc:read | Alles lesen: Anfragen, Dokumente, Formulare, Analytik. |
kyc:write | Dinge anlegen und ändern: Anfragen, Dokument-Uploads, Formularversand, Live-Verifizierungen. |
kyc:submit | Eine Anfrage zur automatischen Verarbeitung freigeben. |
kyc:manage | Privilegierte Aktionen: Entscheidungen überschreiben, Dokumente löschen, Daten eines Antragstellers löschen oder exportieren. |
Oder wählen Sie engere Berechtigungen je Ressource (Lesen, Schreiben, Einreichen, Verwalten für jede Ressource):
| Ressource | Scopes | Umfasst |
|---|---|---|
| Prüfungen | verifications:read · write · submit · manage | Verifizierungsanfragen, KYB, EDD, Betrugssignale |
| Formulare | forms:read · write · manage | Formularliste, Versand eines Formulars, Verfolgung der Zustellung |
| Dokumente | documents:read · write · manage | Dokumente der Anfrage |
| Live-ID-Verifizierung | live_id:read · write | Planung und Verfolgung von Live-Verifizierungsanrufen |
| Webhooks | webhooks:read · manage | Webhook-Endpunkte (müssen ausdrücklich gewährt werden) |
| Analytik | analytics:read | Analytik und Triage-Übersicht |
| Datenschutz & Löschung | privacy:manage | Löschanträge, Löschung, Export je Antragsteller |
Verwalten bei einer Ressource umfasst jede andere Aktion dieser Ressource. Ein Scope je Ressource reicht nie über seine Ressource hinaus. Ein Schlüssel mit nur forms:read kann keine Verifizierungsanfragen lesen.
Wählen Sie die minimalen Scopes, die der Schlüssel tatsächlich braucht. Ein Schlüssel für „Formular aus unserem Anmeldeablauf senden“ braucht nur forms:write.
(Optional) Schlüssel einschränken
- Formulare — beschränken Sie den Schlüssel auf bestimmte Formulare. Er kann dann nur über diese Formulare auflisten, senden und Verifizierungen anlegen, und er sieht nur die Verifizierungen, die über sie angelegt wurden (Liste, Details, Dokumente, Zusammenfassung, Analytik). Alles andere wird mit
403 form_not_allowedabgelehnt. Ein auf Formulare beschränkter Schlüssel kann keine Verifizierung ohne Angabe eines seiner Formulare (formId) anlegen und die Endpunkte für Löschung von Antragstellern, Löschanträge, Wiederverwendung und Live-Verifizierung nicht nutzen. Verifizierungen, die vor dieser Durchsetzung bestanden, werden für einen auf Formulare beschränkten Schlüssel sichtbar, sobald Certivant seine einmalige Nachpflege durchführt. - Workflows — beschränken Sie den Schlüssel auf bestimmte Automatisierungs-Workflows. Für jede Verifizierung, die der Schlüssel anlegt, dürfen nur diese Workflows laufen (unabhängig davon, wer sie später auslöst: der Antragsteller, eine Entscheidung oder ein Prüfer). Andere Workflows werden für diese Verifizierung übersprungen. Verifizierungen, die im Dashboard, von Antragstellern über ein öffentliches Formular oder von anderen Schlüsseln angelegt werden, sind nicht betroffen. Kein API-Aufruf schlägt wegen dieser Einschränkung fehl.
Lassen Sie alles unangekreuzt, wenn es keine Einschränkung geben soll.
- IP-Adressen — listen Sie die IPv4-/IPv6-Adressen oder CIDR-Bereiche auf, von denen der Schlüssel verwendet werden darf (eine pro Zeile, z. B.
203.0.113.7,198.51.100.0/24,2001:db8::/32). Anfragen von anderen Adressen werden mit403 ip_not_allowedabgelehnt.

Scopes, Einschränkungen und Ablaufdatum können Sie später über Bearbeiten (das Stift-Symbol) ändern. Der Schlüssel selbst und die Umgebung lassen sich nicht ändern.

(Optional) Ablaufdatum
Legen Sie ein Datum fest, an dem der Schlüssel automatisch abläuft. Empfohlen für kurzlebige Integrationen (CI-Token, Demos). Produktionsschlüssel haben oft kein Ablaufdatum. Rotieren Sie sie stattdessen nach einem Zeitplan. Ein abgelaufener Schlüssel liefert 401 api_key_expired.
Umgebung wählen
Live-Schlüssel beginnen mit ck_live_, Test-Schlüssel mit ck_test_ (siehe unten Live oder Test).
Erstellen
Der Schlüssel wird einmal in einem Dialog angezeigt. Kopieren Sie ihn jetzt, denn er kann später nicht mehr abgerufen werden. Das Dashboard zeigt nur das Präfix (z. B. ck_live_a3f1), damit Sie Schlüssel unterscheiden können, ohne sie preiszugeben.
Den Schlüssel verwenden
Senden Sie ihn im Header Authorization:
Authorization: Bearer ck_live_a3f...
Schlüssel, die vor dem Format ck_live_ / ck_test_ erstellt wurden (beginnend mit kyk_), funktionieren unverändert weiter.
Der schnellste Weg zu einer funktionierenden Integration:
Eine Anfrage anlegen
curl https://api.certivant.com/api/v1/kyc/requests \
-H "Authorization: Bearer $CV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "INDIVIDUAL",
"applicant": {
"fullName": "Jane Doe",
"email": "jane@example.com"
}
}'
Liefert die ID der neuen Anfrage und eine einmalige URL, unter der der Antragsteller Dokumente hochlädt.
Den Antragsteller zur URL schicken
Sie können die URL selbst per E-Mail versenden, in Ihren eigenen Onboarding-Ablauf einbetten oder den Versand über den Ablauf „Einladung senden“ im Dashboard von uns erledigen lassen.
Das Ergebnis per Webhook empfangen oder abfragen
- Webhook (empfohlen): Registrieren Sie einen Endpunkt, der
kyc.request.approved/rejected/escalatedverarbeitet. Siehe Webhooks. - Abfrage:
GET /api/v1/kyc/requests/{id}liefert den aktuellen Status. Empfohlenes Intervall: mindestens 30 Sekunden.
Zuordnung zu Partnern und Unter-Mandanten
Wenn Sie Verifizierungen im Auftrag vieler Endkunden aus einer Organisation durchführen, etwa das klassische Partner- oder Reseller-Modell. Ein E-Signatur-Anbieter prüft zum Beispiel Unterzeichner für Hunderte Unternehmen. Dann brauchen Sie nicht für jeden Kunden eine eigene Organisation. Versehen Sie jede Anfrage beim Anlegen über die API mit zwei optionalen Feldern:
subTenantName— der Anzeigename des Endkunden (z. B. „Acme Corp“).subTenantExternalId— Ihre interne ID für diesen Kunden (z. B.cust_8842).
Sobald Anfragen so markiert sind, können Sie:
- Den Listen-Endpunkt filtern nach
subTenantExternalId(GET /api/v1/kyc/requests?subTenantExternalId=cust_8842). - Webhooks weiterleiten — beide Felder werden in jedem Ereignis-Envelope zurückgegeben. Ihr Handler weiß so, zu welchem Kunden ein Ergebnis gehört, ohne eine Suche durchführen zu müssen.
- Die Dashboards filtern — Nutzung, Audit-Protokoll, Monitoring, Berichte und Analytik erhalten alle einen Filter Unter-Mandant, sobald eine Anfrage die Markierungen trägt. Die Listen für KYC/KYB können die Spalten Unter-Mandant und Externe ID anzeigen (standardmäßig ausgeblendet. Aktivieren Sie sie über das Spaltenmenü).
Die genaue Form der Anfrage finden Sie in der API-Referenz: KYC-Anfragen → Anfrage anlegen.
Ratenbegrenzung
Ihr Limit für API-Aufrufe pro Minute wird durch Ihren Tarif festgelegt. Übliche Standardwerte: 60 pro Minute im Tarif Launch, 300 pro Minute in Pro und Scale, 600 pro Minute in Enterprise. Die genaue Obergrenze für Ihre Organisation wird nur lesend auf der Seite Entwickler angezeigt. Jede API-Antwort enthält sie im Header X-RateLimit-Limit. Jeder Schlüssel wird unabhängig voneinander innerhalb dieser Obergrenze gezählt.
Überschreiten Sie das Limit, liefern Anfragen HTTP 429 Too Many Requests mit X-RateLimit-Reset (Sekunden bis zum Zurücksetzen des Fensters). Warten Sie und versuchen Sie es erneut.
Brauchen Sie eine höhere Obergrenze? Ihr Super-Administrator legt sie fest. Er kann Ihr Limit für den Kunden bis zur Obergrenze Ihres Tarifs anheben. Das geht unter Admin → Kunden → (Ihre Organisation) → Organisation bearbeiten. Eine höhere Obergrenze erfordert einen höheren Tarif. Das Limit wird vom Betreiber gesteuert. Mandanten können es sehen, aber nicht ändern. Details zur Funktionsweise finden Sie in der Entwicklerreferenz: Ratenbegrenzungen.
Sicherheitsempfehlungen
- Speichern Sie Schlüssel in Umgebungsvariablen oder einem Geheimnis-Manager. Niemals in Git committen, niemals im Chat teilen. Schlüssel, die in öffentlichen Repositories landen, werden regelmäßig innerhalb von Minuten abgegriffen.
- Ein Schlüssel pro Umgebung. Teilen Sie keinen
ck_live_...-Schlüssel zwischen Staging und Produktion. Die Rotation des einen soll den anderen nicht beeinträchtigen. - Verwenden Sie eingeschränkte Schlüssel. Ein Schlüssel nur zum Lesen für das Monitoring und ein Schlüssel zum Schreiben für den Onboarding-Dienst sind sicherer als ein allmächtiger Schlüssel überall.
- Binden Sie Schlüssel an Ihre Server. Tragen Sie für Schlüssel, die nur von festen Adressen aus verwendet werden, die IP-Zulassungsliste ein.
- Rotieren Sie vierteljährlich. Verwenden Sie Rotieren (siehe unten). Der alte Schlüssel funktioniert während der von Ihnen gewählten Überlappung weiter, sodass Sie den neuen ohne Ausfallzeit einsetzen können. Das Audit-Protokoll erfasst den Wechsel.
- Achten Sie auf unbefugte Nutzung. Die Schlüsselliste zeigt, wann und von welcher Adresse jeder Schlüssel zuletzt verwendet wurde. Das Audit-Protokoll erfasst das Erstellen, Bearbeiten, Rotieren und Widerrufen von Schlüsseln. Prüfen Sie jede Adresse, die Sie nicht kennen.
Einen Schlüssel rotieren

Entwickler → API-Schlüssel → Rotieren erstellt einen Ersatz mit derselben Bezeichnung, denselben Berechtigungen, Einschränkungen, derselben IP-Zulassungsliste und demselben Ablaufdatum. Der neue Schlüssel wird einmal angezeigt.
- Überlappung (0–168 Stunden, Standard 24). Der alte Schlüssel funktioniert so lange weiter und liefert danach
401 api_key_rotated. Mit0widerrufen Sie den alten Schlüssel sofort. - Die Liste markiert den alten Schlüssel als „Rotiert — alter Schlüssel funktioniert bis …“ und den neuen als „Ersetzt einen rotierten Schlüssel“. Ein bereits rotierter Schlüssel kann nicht erneut rotiert werden. Rotieren Sie stattdessen seinen Ersatz.
- Sie können den alten Schlüssel während der Überlappung auch bearbeiten oder widerrufen, falls Sie ihn früher abschalten möchten.
Einen Schlüssel widerrufen
Wenn ein Schlüssel kompromittiert, geleakt oder nicht mehr benötigt ist:
- Entwickler → API-Schlüssel → Menü mit drei Punkten → Widerrufen.
- Wirkt sofort. Jede laufende Anfrage mit dem Schlüssel erhält beim nächsten Aufruf
401. - Nicht rückgängig zu machen. Es gibt keine Schaltfläche „Widerruf aufheben“. Stellen Sie einen neuen Schlüssel aus, falls Sie es bereuen.
Der Widerruf wird im Audit-Protokoll zusammen mit dem Benutzer erfasst, der ihn durchgeführt hat.
Live oder Test
Jeder Schlüssel ist entweder:
- Test (
ck_test_...) — für Entwicklung und CI gedacht. - Live (
ck_live_...) — für die Produktion gedacht.
Die Umgebung kennzeichnet die Nutzung: Jede Antwort enthält X-Certivant-Environment: test oder live. Das Dashboard zeigt das Badge neben dem Schlüssel. So können Sie in Ihren Protokollen Testverkehr von Produktionsverkehr unterscheiden.
Test-Schlüssel isolieren die Daten nicht. Sie lesen und schreiben dieselben Verifizierungen wie Ihre Live-Schlüssel. Die einzige Sandbox ist diejenige, in der jede neue Organisation startet: Bis Certivant Ihre Organisation verifiziert hat, sind die Live-Verifizierungsfunktionen für alle Schlüssel gesperrt. Verwenden Sie eine eigene Organisation, wenn Sie vollständig getrennte Testdaten brauchen.
Fehlerbehebung
401 Unauthorized
Der Eintrag error.reason im Antworttext verrät den Grund:
error.reason | Bedeutung |
|---|---|
missing_api_key | Kein Header Authorization: Bearer …. |
invalid_api_key | Der Schlüssel existiert nicht (Tippfehler, abgeschnitten, falsche Organisation). |
api_key_revoked | Der Schlüssel wurde widerrufen. |
api_key_expired | Das Ablaufdatum des Schlüssels ist überschritten. |
api_key_rotated | Der Schlüssel wurde rotiert und sein Überlappungszeitraum ist beendet. Verwenden Sie den Ersatz. |
403 Forbidden
error.reason:
error.reason | Bedeutung |
|---|---|
insufficient_scope | Der Schlüssel hat den Scope für den Endpunkt nicht (die Meldung nennt die zulässigen Scopes). Bearbeiten Sie den Schlüssel oder stellen Sie einen neuen aus. |
ip_not_allowed | Die Anfrage kommt von einer Adresse, die nicht auf der IP-Zulassungsliste des Schlüssels steht. |
form_not_allowed | Der Schlüssel ist auf andere Formulare beschränkt: Das Formular oder die angeforderte Verifizierung wurde nicht über eines dieser Formulare angelegt. |
429 Too Many Requests
Sie sind an der Ratenbegrenzung. Prüfen Sie den Header Retry-After (Sekunden) und warten Sie entsprechend. Bei dauerhaft hohem Volumen fragen Sie ein höheres Limit an.
„Ich habe den Schlüssel verloren“
Schlüssel werden nur einmal angezeigt. Eine Wiederherstellung ist nicht möglich. Widerrufen Sie den alten Schlüssel und stellen Sie einen neuen aus. Ihr Team muss den neuen Wert überall dort eintragen, wo der alte bereitgestellt war.
Verwandte Themen
- Webhooks — in Kombination mit der API für die vollständige Integration.
- KYC-Liste & Details — die Ansicht im Dashboard für über die API angelegte Anfragen.
- Audit-Protokoll — jeder API-Aufruf erscheint hier.
Webhooks
Empfangen Sie Certivant-Ereignisse in Echtzeit in Ihren eigenen Systemen, wenn sich der Status einer Verifizierung ändert. Einrichtung, Prüfung der HMAC-Signatur, Zeitplan für Wiederholungen und vollständige Referenz der Ereignistypen.
Dokumenttypen, Ablauf- und Aktualitätseinstellungen
Legen Sie fest, welche Ausweis- und Geschäftsdokumente Certivant akzeptiert, wie alt ein Dokument sein darf und was geschieht, wenn ein Dokument abgelaufen ist, zu alt ist oder sein Datum nicht gelesen werden kann. Gilt für KYC und KYB.