Rufen Sie einen vorhandenen Prozess anhand seiner Kennung ab. Gemäß dem API-Vertrag wird das Ergebnis bei der Prozesserstellung bereits synchron zurückgegeben — verwenden Sie diesen Endpunkt für erneute Abfragen, Audits und Support.
Bevor Sie den Prozess abrufen, prüfen Sie unsere Webhook-Konfiguration und Fallback-Strategien — hier klicken.
Endpunkt
| Umgebung | URL |
|---|---|
| Produktion | GET https://api.idcloud.unico.app/client/v1/process/{processId} |
| Sandbox | GET https://api.idcloud.uat.unico.app/client/v1/process/{processId} |
Request
| Header | Wert |
|---|---|
Authorization | Bearer <access_token> |
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
processId | string (UUID) | ja | Prozesskennung, die von Prozess erstellen zurückgegeben wird. |
Beispiel
- cURL
- Node.js
curl -X GET https://api.idcloud.unico.app/client/v1/process/$PROCESS_ID \
-H "Authorization: Bearer $TOKEN"
import fetch from 'node-fetch';
const res = await fetch(
`https://api.idcloud.unico.app/client/v1/process/${processId}`,
{ headers: { Authorization: `Bearer ${accessToken}` } }
);
const { process: proc } = await res.json();
Antworten
{
"process": {
"id": "226fd950-4b80-4da6-a476-ba9d397ddc91",
"flow": "id_r2",
"callbackUri": "/",
"userRedirectUrl": "https://cadastro.uat.unico.app/flow?collect-data=true&dynamic-wrapper=true&id=226fd950-4b80-4da6-a476-ba9d397ddc91",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_APPROVED",
"createdAt": "2026-08-06T01:42:21.693615Z",
"finishedAt": "2026-08-06T01:43:03.080508Z",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "40*******50",
"friendlyName": "teste",
"email": "",
"phone": "5511999999999",
"notifications": [
{ "notificationChannel": "NOTIFICATION_CHANNEL_WHATSAPP" }
],
"phoneCountryCodeAlpha3": ""
},
"purpose": "personAuthentication",
"services": [],
"authenticationInfo": { "authenticationId": "55cba227-9828-49df-a16f-bcdaa7bdaa4d" },
"capacities": ["PROCESS_CAPACITY_IDCLOUDONE"],
"expiresAt": "2026-08-13T01:42:21.536500Z",
"token": "",
"companyData": { "branchId": "", "countryCode": "BRA" },
"simulated": false
}
}
| Feld | Bedeutung |
|---|---|
id | Prozess-UUID; der Schlüssel zum Abfragen und Nachverfolgen des Flows. |
flow | Art der durchgeführten Journey (z. B. id_r2, idlivetrust_r2, idtrust_r2, ...). |
callbackUri | Callback-URI, zu der die Client-App am Ende des Flows weitergeleitet wird. |
userRedirectUrl | Vollständige URL der CbU-Seite, die der Nutzer öffnet, um die Journey auszuführen (enthält die id und Verhaltens-Flags). |
state | Lebenszyklusstatus des Prozesses. PROCESS_STATE_*-Werte (z. B. CREATED, FAILED, FINISHED, AWAITING_FOR_DOCUMENT, UNSPECIFIED). |
result | Endgültiges Urteil der Auswertung. PROCESS_RESULT_*-Werte (z. B. APPROVED, AUTHENTICATED, NOT_APPROVED, ...). Nur aussagekräftig, wenn state = PROCESS_STATE_FINISHED. |
createdAt | Zeitstempel der Prozesserstellung (UTC). |
finishedAt | Zeitstempel des Prozessabschlusses (UTC). |
person | Unterobjekt mit den Daten der zu verifizierenden Person. |
purpose | Zweck des Prozesses (z. B. personAuthentication, Personenregistrierung). |
services | Liste zusätzlicher, dem Prozess zugeordneter Dienste; leer, wenn keine vorhanden sind. |
authenticationInfo.authenticationId | ID des vom Flow erzeugten Identitätsauthentifizierungsereignisses. |
capacities | Verwendete Funktionen/Produkte. PROCESS_CAPACITY_*-Werte (z. B. IDCLOUDONE). |
expiresAt | Ablaufzeitpunkt des Prozesses/Links (UTC). |
token | Dem Prozess zugeordnetes Sitzungs-/Access-Token (kann leer sein). |
companyData | Unterobjekt mit den Daten des Unternehmens/Mandanten, dem der Prozess gehört. |
simulated | Boolean; ob es sich um einen Simulations-/Sandbox-Prozess (true) oder einen echten (false) handelt. |
| Feld | Bedeutung |
|---|---|
duiType | Typ des eindeutigen Identifikationsdokuments. DUI_TYPE_*-Werte (z. B. BR_CPF). |
duiValue | Dokumentwert (z. B. die CPF-Nummer). |
friendlyName | Anzeigename/Spitzname der Person (Freitext, nicht validiert). |
email | E-Mail-Adresse der Person; kann leer sein. |
phone | Telefonnummer im E.164-Format (Landesvorwahl + Ortsvorwahl + Nummer). |
notifications | Liste der Benachrichtigungskanäle. Jeder Eintrag enthält notificationChannel mit NOTIFICATION_CHANNEL_*-Werten (z. B. WHATSAPP, SMS, EMAIL). |
phoneCountryCodeAlpha3 | ISO-Alpha-3-Landescode der Telefonnummer (z. B. BRA); kann leer sein. |
| Feld | Bedeutung |
|---|---|
branchId | Kennung der Niederlassung des Mandanten; leer, wenn nicht nach Niederlassung segmentiert. |
countryCode | Land des Unternehmens in ISO-Alpha-3 (z. B. BRA). |
Dokumenttypen, die das einheitliche Schema verwenden — unified_schema in der Feldreferenz — werden als der bei der Erfassung erkannte Typ in Großbuchstaben gemeldet: IDCARD, DRIVERLICENSE, PASSPORT oder VOTERID.
US-Pässe behalten ihre Variante, anstatt in PASSPORT zusammengeführt zu werden, sodass auch Werte wie POLYCARBONATEPASSPORT, PASSPORTCARD und PAPERPASSPORT zurückgegeben werden.
Zum Beispiel werden unico.moja.dictionary.ar.generic.v1.IdCard und unico.moja.dictionary.us.generic.v1.PolycarbonatePassport als IDCARD und POLYCARBONATEPASSPORT gemeldet.
process.services[].documents[].doc.code meldet den Dokumenttyp als kurzen Code in Großbuchstaben. unico.moja.dictionary.br.cnh.v2.Cnh wird zu CNH.
Der Code enthält weder das Land noch die Schemaversion; die Version wird separat in doc.version zurückgegeben.
Dokumenttypen, die ihr eigenes Feldschema verwenden — aufgeführt unter specific_document_schemas in der Feldreferenz — werden in der Tabelle unten gezeigt. Verwenden Sie den Dictionary-Typ, um jedes Schema in dieser Datei nachzuschlagen.
| Land | doc.code | Dictionary-Typ | Dokument |
|---|---|---|---|
| BR | RG | unico.moja.dictionary.br.rg.v2.Rg | RG |
| BR | CNH | unico.moja.dictionary.br.cnh.v2.Cnh | CNH (Führerschein) |
| BR | CIN | unico.moja.dictionary.br.cin.v1.Cin | CIN |
| BR | PASSAPORTE | unico.moja.dictionary.br.passaporte.v1.Passaporte | Reisepass |
| MX | INE | unico.moja.dictionary.mx.ine.v1.Ine | INE-Wählerausweis |
| MX | LPC | unico.moja.dictionary.mx.lpc.v1.Lpc | Licencia para conducir (Führerschein) |
| MX | PASAPORTE | unico.moja.dictionary.mx.pasaporte.v1.Pasaporte | Reisepass |
| — | UNKNOWN | unico.moja.dictionary.other.unknown.v1.Unknown | Typ konnte nicht identifiziert werden — doc.data ist leer |
PASSAPORTE und PASAPORTE sind unterschiedliche DokumenteDer brasilianische Reisepass ist PASSAPORTE (doppeltes S) und der mexikanische PASAPORTE (einfaches S), jeweils entsprechend der Schreibweise im jeweiligen Dictionary. Dies ist kein Tippfehler — behandeln Sie die beiden Werte nicht als gleichbedeutend.
Es wird keine OCR-Extraktion durchgeführt und kein Feld in doc.data gemeldet, wenn doc.code gleich UNKNOWN ist.
Kunden in Brasilien können die vollständige Prozess-Payload erhaltenDie Gesamtstruktur der Antwort bleibt gleich — das einzelne Ergebnis ist der Standard.

Die Gesamtstruktur der Antwort bleibt gleich — das einzelne Ergebnis ist der Standard.
Integrationen in Brasilien können das vollständige Prozessobjekt unten erhalten, mit Ergebnissen pro Funktion in authenticationInfo.
{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"flow": "iddocs_r2",
"callbackUri": "https://example.com/callback",
"userRedirectUrl": "https://example.com/redirect",
"state": "PROCESS_STATE_FINISHED",
"result": "PROCESS_RESULT_OK",
"createdAt": "2024-01-01T10:00:00Z",
"finishedAt": "2024-01-01T10:15:00Z",
"expiresAt": "2024-01-08T10:00:00Z",
"purpose": "VERIFICATION",
"clientReference": "client-ref-abc",
"useCase": "USE_CASE_LOGIN",
"capacities": ["liveness", "face_match"],
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"person": {
"duiType": "DUI_TYPE_BR_CPF",
"duiValue": "12345678909",
"friendlyName": "Luke Skywalker",
"notifications": [
{
"notificationChannel": "email"
}
]
},
"authenticationInfo": {
"authenticationId": "auth-123",
"livenessResult": "LIVENESS_RESULT_LIVE",
"authenticationResult": "AUTHENTICATION_RESULT_INCONCLUSIVE",
"identityFraudstersResult": "TRUST_RESULT_UNSPECIFIED",
"bioTokenEngineResult": "BIO_TOKEN_ENGINE_RESULT_UNSPECIFIED",
"smartRevalidationResult": "SMART_REVALIDATION_RESULT_UNSPECIFIED",
"idAgeResult": "ID_AGE_RESULT_UNSPECIFIED",
"scoreEngineResult": {
"scoreEnabled": "SCORE_ENABLED_TRUE",
"score": 85.5
}
},
"companyData": {
"branchId": "branch-123",
"countryCode": "BR"
},
"bioTokenData": {
"referenceProcessId": "ref-proc-123",
"authenticationId": "auth-ref-123"
},
"services": [
{
"envelopeId": "4d4f3d90-04a3-4259-b63b-930ab10d2e47",
"documentIds": ["doc-abc-123"],
"consent_granted": true,
"documents": [
{
"doc_id": "doc-abc-123",
"typified": true,
"cpf_match": true,
"face_match": true,
"validate_doc": true,
"reused_doc": false,
"signed_url": "https://example.com/doc?token=xyz",
"doc": {
"version": 1,
"code": "CNH",
"data": {
"numero": "044589731564",
"cpfNumero": "12345678909",
"nomeCivil": "Luke Skywalker",
"dataNascimento": "1990-05-12T00:00:00Z",
"dataExpiracao": "2027-12-07T00:00:00Z",
"categoria": "B"
}
}
}
]
}
]
}
}
| Feld | Typ | Beschreibung |
|---|---|---|
process.id | string (UUID) | Prozesskennung. |
process.flow | string | Bei der Erstellung übermittelte Flow-Kennung. |
process.callbackUri | string | Für Prozessereignisse konfigurierte Callback-URL. |
process.userRedirectUrl | string | URL, an die der Nutzer nach Abschluss der Journey weitergeleitet wird. |
process.state | enum | Aktueller Prozessstatus. Siehe Werte unten. |
process.result | enum | Verifizierungsergebnis. Nur vorhanden, wenn state = PROCESS_STATE_FINISHED. |
process.createdAt | string (datetime) | ISO-8601-Zeitstempel der Prozesserstellung. |
process.finishedAt | string (datetime) | ISO-8601-Zeitstempel des Prozessabschlusses. Nur vorhanden, wenn state = PROCESS_STATE_FINISHED. |
process.expiresAt | string (datetime) | ISO-8601-Zeitstempel des Prozessablaufs. |
process.purpose | string | Im Flow konfigurierter Zweck des Prozesses. |
process.clientReference | string | Optionale clientseitige Referenz zur Indexierung im Portal. |
process.useCase | string | Dem Flow zugeordnete Szenario-Kennung. |
process.capacities | array of strings | Liste der in diesem Prozess aktivierten Funktionen. |
process.token | string | Signiertes JWT für die SDK-Integration. |
process.person | object | Bei der Erstellung angegebene Identifikation. |
process.person.notifications | array | Für die Journey konfigurierte Benachrichtigungskanäle (z. B. email). |
process.authenticationInfo | object | Ergebnisse pro Funktion. Siehe unten. |
process.companyData | object | Unternehmens- und Niederlassungskontext. |
process.companyData.branchId | string | Niederlassungskennung. |
process.companyData.countryCode | string | ISO-3166-1-Alpha-2-Landescode. |
process.bioTokenData | object | Referenzprozess-Informationen — nur vorhanden bei 1:1-Validierung- und Smart-Revalidierung-Flows. |
process.services | array | Signierte Envelopes, erfasste Dokumente und andere Serviceausgaben. Siehe unten. |
| Wert | Bedeutung |
|---|---|
PROCESS_STATE_CREATED | Prozess erstellt; Nutzer hat die Journey noch nicht abgeschlossen. |
AWAITING_FOR_DOCUMENT | Prozess ohne Identifikationsdokument erstellt. Nur vorhanden, wenn der Custom Flow ein optionales Dokument erlaubt. Senden Sie das Dokument mit Prozessdokument festlegen. |
PROCESS_STATE_FINISHED | Journey abgeschlossen. Prüfen Sie result und authenticationInfo. |
PROCESS_STATE_FAILED | Verarbeitungsfehler. |
AWAITING_FOR_DOCUMENT folgt nicht der PROCESS_STATE_*-Präfixkonvention, die für die anderen Zustände verwendet wird. Dies ist eine bekannte Benennungsinkonsistenz in der aktuellen API.
| Wert | Bedeutung |
|---|---|
PROCESS_RESULT_OK | Alle Funktionen lieferten positive Ergebnisse. |
PROCESS_RESULT_INVALID_IDENTITY | Mindestens eine Funktion lieferte ein definitives negatives Ergebnis (z. B. Lebenderkennung fehlgeschlagen, Identität nicht übereinstimmend). |
PROCESS_RESULT_ERROR | Fehler bei der Ergebnisverarbeitung. |
PROCESS_RESULT_EXPIRED | Prozess abgelaufen, bevor die Journey abgeschlossen wurde. |
PROCESS_RESULT_UNSPECIFIED | Prozess noch nicht abgeschlossen. |
Alle Felder werden unabhängig vom Flow immer zurückgegeben. Felder für im Flow nicht verwendete Funktionen geben *_UNSPECIFIED zurück.
Kurzformwerte (z. B. livenessResult = LIVE, authenticationResult = INCONCLUSIVE) entsprechen direkt den hier dokumentierten vollständigen Enum-Werten (LIVENESS_RESULT_LIVE, AUTHENTICATION_RESULT_INCONCLUSIVE usw.) — das Präfix wird aus Gründen der Kürze weggelassen.
| Feld | Funktion | Mögliche Werte |
|---|---|---|
authenticationId | — | Eindeutige Kennung für diesen Authentifizierungsversuch. |
livenessResult | Liveness | LIVENESS_RESULT_LIVE, LIVENESS_RESULT_NOT_LIVE, LIVENESS_RESULT_UNSPECIFIED |
authenticationResult | Identitätsprüfung | AUTHENTICATION_RESULT_POSITIVE, AUTHENTICATION_RESULT_NEGATIVE, AUTHENTICATION_RESULT_INCONCLUSIVE, AUTHENTICATION_RESULT_UNSPECIFIED |
identityFraudstersResult | Betrugseinstufung nach Risiko | TRUST_RESULT_YES, TRUST_RESULT_INCONCLUSIVE, TRUST_RESULT_UNSPECIFIED |
bioTokenEngineResult | 1:1-Validierung | BIO_TOKEN_ENGINE_RESULT_POSITIVE, BIO_TOKEN_ENGINE_RESULT_NEGATIVE, BIO_TOKEN_ENGINE_RESULT_UNSPECIFIED |
smartRevalidationResult | Intelligente Revalidierung | SMART_REVALIDATION_RESULT_POSITIVE, SMART_REVALIDATION_RESULT_NEGATIVE, SMART_REVALIDATION_RESULT_UNSPECIFIED |
idAgeResult | Altersverifizierung | ID_AGE_RESULT_POSITIVE, ID_AGE_RESULT_NEGATIVE, ID_AGE_RESULT_INCONCLUSIVE, ID_AGE_RESULT_UNSPECIFIED |
scoreEngineResult.scoreEnabled | Risiko-Score | SCORE_ENABLED_TRUE, SCORE_ENABLED_FALSE, SCORE_ENABLED_UNSPECIFIED |
scoreEngineResult.score | Risiko-Score | Zahl von -100 bis +100. Vorhanden, wenn authenticationResult = AUTHENTICATION_RESULT_INCONCLUSIVE und Risiko-Score aktiviert ist. |
serproResult.score | Serpro-Ähnlichkeitsabgleich | 0–100 (Ähnlichkeit); -1 (kein Gesicht für diese CPF hinterlegt); -2 (Integrationsfehler). |
servicesDas Array services verwendet camelCase für Felder auf Envelope-Ebene (envelopeId, documentIds) und snake_case für Felder auf Dokumentebene (doc_id, consent_granted, face_match usw.). Dies spiegelt die tatsächliche API-Antwort wider — beide Konventionen sind beabsichtigt und kein Dokumentationsfehler.
| Feld | Typ | Beschreibung |
|---|---|---|
envelopeId | string (UUID) | Kennung des signierten Envelopes. |
documentIds | array of strings | IDs der in diesem Service erfassten Dokumente. |
consent_granted | boolean | Ob der Nutzer der Datenweitergabe zugestimmt hat. |
documents | array | Erfasste Dokumente mit OCR-Daten und Validierungsergebnissen. |
documents[].doc_id | string | Dokumentkennung. |
documents[].typified | boolean | Ob der Dokumenttyp erfolgreich identifiziert wurde. |
documents[].cpf_match | boolean | Ob die CPF auf dem Dokument mit der angegebenen CPF übereinstimmt (nur Brasilien). |
documents[].face_match | boolean | Ob das Selfie mit dem Foto auf dem Dokument übereinstimmt. |
documents[].validate_doc | boolean | Ob das Dokument die Echtheitsprüfung bestanden hat. |
documents[].reused_doc | boolean | Ob dieses Dokument aus einem vorherigen Prozess wiederverwendet wurde. |
documents[].signed_url | string | Vorab signierte URL zum Herunterladen des Dokument-PDFs (5 Minuten gültig — zur Erneuerung erneut abrufen). |
documents[].doc.version | integer | OCR-Schemaversion. |
documents[].doc.code | string | Kurzer Code des Dokumenttyps (z. B. CNH). Siehe Dokumenttypen und OCR-Felder für alle Werte und wie der Code abgeleitet wird. |
documents[].doc.data | object | Extrahierte OCR-Felder. Der Inhalt variiert je nach Dokumenttyp — siehe die vollständige Feldreferenz für den vollständigen Katalog. Feldnamen innerhalb von doc.data (z. B. nomeCivil, dataNascimento) werden auf Portugiesisch zurückgegeben — dies sind die tatsächlichen, von der OCR-Engine erzeugten Werte. |
Fehlercodes
- 400 Bad Request
- 401 Unauthorized
- 404 Not Found
- 429 Too Many Requests
- 500 Internal Server Error
| Code | Nachricht | Beschreibung |
|---|---|---|
3 | process id is invalid | Wenn die Prozess-ID ungültig ist. |
| Code | Nachricht | Beschreibung |
|---|---|---|
| — | Jwt header is an invalid JSON | Wenn das verwendete Access-Token ungültige Zeichen enthält. |
| — | Jwt is expired | Wenn das verwendete Access-Token abgelaufen ist. |
| Code | Nachricht | Beschreibung |
|---|---|---|
5 | error getting process: rpc error: code = NotFound desc = process not found | Wenn die Prozess-ID nicht gefunden wurde. |
Rate-Limit erreicht. Wenn Ihr System einen HTTP-429-Fehler erhält, m üssen Sie Mechanismen implementieren, um kaskadierende Ausfälle zu verhindern und eine Verschärfung der Einschränkung zu vermeiden.
Best Practices:
- Abkühlphase (Backoff): Stoppen oder drosseln Sie nachfolgende Anfragen aus Ihrem System sofort. Wiederholen Sie fehlgeschlagene Anfragen nicht kontinuierlich in einer engen Schleife.
- Warteschlange & Drosselung: Puffern oder reihen Sie ausgehende Anfragen auf Ihrer Seite ein, um den Datenverkehr zu kontrollieren, bevor Sie sie erneut senden.
- Exponentieller Backoff mit Jitter: Erhöhen Sie beim erneuten Versuch die Wartezeit zwischen den Versuchen exponentiell (z. B. 1 s, 2 s, 4 s, 8 s) und fügen Sie eine kleine zufällige Verzögerung ("Jitter") hinzu, um einen Herdeneffekt zu vermeiden, bei dem alle in der Warteschlange befindlichen Anfragen exakt zur gleichen Millisekunde erneut versucht werden.
Das kontinuierliche Ansprechen eines rate-limitierten Endpunkts ohne Backoff kann die Einschränkungsperiode verlängern und den operativen Durchsatz Ihres Systems erheblich beeinträchtigen. Eine ordnungsgemäße Drosselung der Anfragen auf Ihrer Seite gewährleistet eine reibungslosere und widerstandsfähigere Integration.
Informationen zu Standardlimits, Erhöhung von Anfragen und weiteren Details finden Sie unter Rate Limits.
| Code | Nachricht | Beschreibung |
|---|---|---|
99999 | Internal failure! Try again later | Wenn ein interner Fehler auftritt. |
Polling vs. Webhook
Sie können diesen Endpunkt abfragen, um den Fortschritt zu prüfen, aber das empfohlene Muster ist, einen Webhook zu abonnieren und diesen Endpunkt nur als Fallback aufzurufen. Siehe Webhooks und Events.
Nächste Schritte
- Für das erfasste Selfie siehe Selfie abrufen.
- Für das Nachweispaket zur Prüfung siehe Nachweispaket abrufen.