Dokumente
Certivant-Dokumenten-API-Referenz — Multipart-Upload von Reisepässen, Ausweisen, Selfies und Adressnachweisen zu einer KYC-Anfrage, signierte Download-URLs abrufen sowie die unterstützten Dokumenttypen und Statuswerte einsehen.
Dokumente werden einer Anfrage zugeordnet, nicht direkt einem Antragsteller. Jeder Upload bringt die übergeordnete
Anfrage näher an „bereit zur Einreichung“ — sobald pendingDocTypes leer ist, können Sie die Anfrage zur Verarbeitung einreichen.
Ein Dokument hochladen
POST /api/v1/kyc/requests/:requestId/documents Berechtigungsbereich: kyc:write
Multipart-Upload. Übergeben Sie documentType (und gegebenenfalls side) als Abfrageparameter und die Datei in einem
Formularfeld file.
Abfrageparameter
| Parameter | Typ | Pflichtfeld | Hinweise |
|---|---|---|---|
documentType | Aufzählung | ja | Siehe Liste unten |
side | Aufzählung | bedingt | front oder back. Erforderlich für GOVERNMENT_ID |
Formular-Body
| Feld | Typ | Hinweise |
|---|---|---|
file | binär | Die Dokumentdatei. Maximal 10 MB. MIME-Typen: image/jpeg, image/png, image/webp, application/pdf |
Dokumenttypen
| Wert | Beschreibung | Zweiseitig? |
|---|---|---|
GOVERNMENT_ID | Nationaler Personalausweis, Führerschein, Aufenthaltstitel | Ja |
PASSPORT | Datenseite des Reisepasses | Nein |
SELFIE | Live-Foto des Antragstellers für Gesichtsabgleich + Lebenderkennung | Nein |
PROOF_OF_ADDRESS | Versorgungsrechnung, Kontoauszug, behördliches Schreiben (höchstens 3 Monate alt) | Nein |
CERTIFICATE_OF_INCORPORATION | KYB — Nachweis, dass das Unternehmen existiert | Nein |
COMPANY_OWNERSHIP_STRUCTURE | KYB — Organigramm oder Gesellschafterliste | Nein |
BANK_STATEMENT | Kontoauszug für Prüfungen der Mittelherkunft | Nein |
OTHER | Alles, was nicht aufgeführt ist — sparsam verwenden; bei OTHER-Dokumenten laufen keine Prüfungen | Nein |
Laden Sie immer die höchstauflösende Version hoch, die Sie haben. Die OCR- und Echtheitsprüfungen verschlechtern sich deutlich unterhalb von 1024 px auf der langen Kante. JPEG mit Qualität 80 oder höher ist in Ordnung; verzichten Sie darauf, Dateien vorab zu komprimieren, „um Bandbreite zu sparen“.
Beispiel
# Upload the front of a driver's license
curl -X POST "https://app.certivant.com/api/v1/kyc/requests/req_01J.../documents?documentType=GOVERNMENT_ID&side=front" \
-H "Authorization: Bearer ck_live_..." \
-F "file=@/path/to/license-front.jpg"
Antwort (201)
{
"id": "doc_01J...",
"documentType": "GOVERNMENT_ID",
"side": "front",
"status": "pending",
"fileSize": 412938,
"mimeType": "image/jpeg",
"requestStatus": "PENDING_UPLOAD",
"pendingDocTypes": ["GOVERNMENT_ID", "SELFIE"],
"message": "Document uploaded. Front of GOVERNMENT_ID received; back of GOVERNMENT_ID still required."
}
Die Antwort zeigt Ihnen über pendingDocTypes stets, was noch fehlt. Ist dieses Array leer, sollte Ihr nächster Aufruf
POST /requests/:id/submit sein.
Statuswerte der Dokumente
pending— hochgeladen, noch nicht verarbeitet (tritt nur vor der Einreichung der Anfrage auf).verified— hat nach der Einreichung der Anfrage alle Echtheitsprüfungen bestanden.failed— hat eine Echtheitsprüfung nicht bestanden. Den konkreten Grund finden Sie in den verknüpften Prüfdatensätzen unterGET /requests/:id.corrupted— die Datei konnte nicht dekodiert werden. Erneut hochladen.
Fehler
400 BAD_REQUEST:- Datei größer als 10 MB.
- Nicht unterstützter MIME-Typ.
sidefehlt beiGOVERNMENT_ID.documentTypeist laut KYC-Einstellungen der Organisation nicht zulässig.
404 NOT_FOUND— die übergeordnete Anfrage existiert nicht in dieser Organisation.409 CONFLICT— die Anfrage befindet sich nicht inPENDING_UPLOAD. Sie können einer bereits eingereichten Anfrage keine Dokumente mehr hinzufügen.
Eine Download-URL abrufen
GET /api/v1/kyc/requests/:requestId/documents/:docId/url Berechtigungsbereich: kyc:read
Dokumente werden in privatem Objektspeicher abgelegt. Um eines anzusehen oder herunterzuladen, rufen Sie eine kurzlebige signierte URL ab.
Antwort
{
"url": "https://storage.certivant.com/kyc/org_.../req_.../doc_....jpg?X-Amz-Signature=...",
"expiresIn": 900
}
expiresIn wird in Sekunden angegeben — die URL ist 15 Minuten gültig. Erzeugen Sie bei Bedarf jedes Mal eine
neue, wenn Sie ein Dokument anzeigen müssen; zwischenspeichern Sie sie nicht.
Die zurückgegebene url ist eine vorsignierte Speicher-URL (S3 / Azure Blob / GCS). Sie öffnet sich direkt in einem
Browser-Tab und wird ohne Header Authorization dargestellt:
- Bilder (
image/jpeg,image/png,image/webp) →<img src="{url}" /> - PDFs (
application/pdf) →<iframe src="{url}" />oder<object data="{url}" type="application/pdf" />
Prüfen Sie den mimeType jedes Dokuments (aus GET /requests/:id), um zu entscheiden, wie es dargestellt wird.
Signierte URLs sind per Definition nicht authentifiziert — jeder, der die URL kennt, kann das Dokument bis zu ihrem Ablauf ansehen. Protokollieren Sie sie niemals, nehmen Sie sie nie in E-Mails auf und stellen Sie sie clientseitig nur bereit, nachdem Sie auf Ihrer Seite eine Berechtigungsprüfung durchgeführt haben.
Die Rohbytes herunterladen
GET /api/v1/kyc/requests/:requestId/documents/:docId/download Berechtigungsbereich: kyc:read
Streamt die Bytes der Dokumentdatei direkt zurück, mit dem gespeicherten Content-Type (image/jpeg, image/png,
image/webp oder application/pdf) und Content-Disposition: inline. Keine signierte URL, keine Weiterleitung.
curl -L "https://app.certivant.com/api/v1/kyc/requests/req_01J.../documents/doc_01J.../download" \
-H "Authorization: Bearer ck_live_..." \
-o government_id_front.jpg
Bevorzugen Sie diesen Weg gegenüber der Route mit signierter URL, wenn Sie Dokumente in Ihrem eigenen Dashboard anzeigen:
- Er funktioniert mit jedem Speicher-Backend, einschließlich lokaler Festplatte — deren signierte URL
/uploads/…ist nur vom Certivant-Host aus erreichbar und liefert von einem anderen Ursprung aus 404. - Leiten Sie ihn über Ihr Backend weiter und liefern Sie ihn vom selben Ursprung aus (
<img src="/your-proxy/doc">für Bilder,<iframe>für PDFs). Der SchlüsselAuthorization: Bearerbleibt serverseitig und erreicht nie den Browser. - Es wird nie eine Speicher-URL offengelegt, daher gibt es nichts, was austreten oder ablaufen könnte.
Welchen nehmen Sie? Verwenden Sie /url, wenn Sie dem Browser einen kurzlebigen öffentlichen Speicherlink
schicken dürfen (Cloud-Speicher, z. B. S3/Azure). Verwenden Sie /download, wenn alles hinter Ihrer eigenen
Authentifizierung bleiben soll oder Certivant auf lokalem Festplattenspeicher läuft. Die Route /download ist der
sichere Standard für eine Partnerkonsole.
Dokumente ersetzen
Sie können ein Dokument nicht direkt bearbeiten. Hat der Antragsteller ein unscharfes Foto hochgeladen und Sie möchten eine neue Aufnahme:
- Die Anfrage muss sich in
PENDING_UPLOADbefinden (oder Sie müssen zuerst eine abgelehnte Anfrage erneut einreichen, um die bisherigen Dokumente zu entfernen). - Laden Sie ein neues Dokument mit demselben
documentTypeundsidehoch. Das bisherige wird ersetzt — für die Verarbeitung wird nur die neueste Version verwendet.
Diese Regel dient der Integrität des Audit-Protokolls: Eine unveränderliche Historie jedes Uploads bleibt im Audit-Protokoll erhalten, auch wenn sich das aktive Dokument ändert.
Dokumente einer Anfrage auflisten
Es gibt keinen eigenen Listen-Endpunkt für Dokumente. Die vollständige Liste ist in der Antwort von
GET /api/v1/kyc/requests/:id enthalten:
{
"id": "req_...",
"documents": [
{ "id": "doc_a", "documentType": "GOVERNMENT_ID", "side": "front", "status": "verified", ... },
{ "id": "doc_b", "documentType": "GOVERNMENT_ID", "side": "back", "status": "verified", ... },
{ "id": "doc_c", "documentType": "SELFIE", "status": "verified", ... }
]
}
Durchlaufen Sie documents und rufen Sie für das jeweilige Dokument, das Sie anzeigen möchten, /download (um die Bytes
weiterzuleiten) oder /url (für einen signierten Link) auf.
Verwandte Themen
- KYC-Anfragen — der übergeordnete Endpunkt, dem Ihre Dokumente zugeordnet werden.
- Gehostete Sitzungen — lassen Sie Certivant die Dokumente direkt vom Antragsteller einsammeln.
- Schemas — vollständige Aufzählung von
documentType,statusund verwandten Werten.
KYB-Anfragen
Certivant-KYB-API-Referenz — Unternehmensdaten, Geschäftsführer und wirtschaftlich Berechtigte einer BUSINESS-Anfrage hinzufügen, Registerabfragen auslösen und die KYC-Unteranfragen je Organverantwortlichem verwalten.
Gehostete Sitzungen
Erzeugen Sie eine kurzlebige URL, unter der der Antragsteller die Erfassung von Dokumenten, die Lebenderkennung und die Identitätsschritte abschließt.