Rufen Sie einen bestehenden Prozess anhand seiner Kennung ab. Gemäß dem API-Contract wird das Ergebnis bereits synchron bei der Prozesserstellung 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} |
Anfrage
| 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 ausgefü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 Benutzer ö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 der dem Prozess zugeordneten zusätzlichen Services; leer, wenn keine vorhanden sind. |
authenticationInfo.authenticationId | ID des vom Flow erzeugten Identitätsauthentifizierungs-Ereignisses. |
capacities | Verwendete Fähigkeiten/Produkte. PROCESS_CAPACITY_*-Werte (z. B. IDCLOUDONE). |
expiresAt | Zeitstempel des Prozess-/Link-Ablaufs (UTC). |
token | Sitzungs-/Zugriffstoken, das dem Prozess zugeordnet ist (kann leer sein). |
companyData | Unterobjekt mit den Daten des Unternehmens/Mandanten, dem der Prozess gehört. |
simulated | Boolescher Wert; ob es sich um einen Simulations-/Sandbox-Prozess (true) oder einen echten Prozess (false) handelt. |
| Feld | Bedeutung |
|---|---|
duiType | Art des eindeutigen Identifikationsdokuments. DUI_TYPE_*-Werte (z. B. BR_CPF). |
duiValue | Dokumentwert (z. B. die CPF-Nummer). |
friendlyName | Anzeigename/Spitzname für die Person (Freitext, nicht validiert). |
email | E-Mail-Adresse der Person; kann leer sein. |
phone | Telefonnummer im E.164-Format (Landesvorwahl + Vorwahl + Nummer). |
notifications | Liste der Benachrichtigungskanäle. Jeder Eintrag enthält notificationChannel mit NOTIFICATION_CHANNEL_*-Werten (z. B. WHATSAPP, SMS, EMAIL). |
phoneCountryCodeAlpha3 | ISO-Alpha-3-Ländercode der Telefonnummer (z. B. BRA); kann leer sein. |
| Feld | Bedeutung |
|---|---|
branchId | Kennung der Filiale des Mandanten; leer, wenn keine Segmentierung nach Filiale erfolgt. |
countryCode | Land des Unternehmens in ISO-Alpha-3 (z. B. BRA). |
process.services[].documents[].doc.code gibt den Dokumenttyp als kurzen Code in Großbuchstaben an. Aus unico.moja.dictionary.br.cnh.v2.Cnh wird CNH.
Der Code enthält weder das Land noch die Schemaversion; die Version wird separat in doc.version zurückgegeben.
Dokumenttypen, die das einheitliche Schema verwenden — unified_schema in der Feldreferenz —, werden als der bei der Erfassung identifizierte Typ in Großbuchstaben angegeben: IDCARD, DRIVERLICENSE, PASSPORT oder VOTERID.
US-amerikanische Reisepässe behalten ihre Variante, statt zu PASSPORT zusammengefasst zu werden; daher werden auch Werte wie POLYCARBONATEPASSPORT, PASSPORTCARD und PAPERPASSPORT zurückgegeben.
Zum Beispiel werden unico.moja.dictionary.ar.generic.v1.IdCard und unico.moja.dictionary.us.generic.v1.PolycarbonatePassport als IDCARD und POLYCARBONATEPASSPORT angegeben.
Dokumenttypen mit eigenem Feldschema — aufgeführt unter specific_document_schemas in der Feldreferenz — finden Sie in der folgenden Tabelle. Verwenden Sie den Dictionary-Typ, um das jeweilige 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 (mit zwei S) und der mexikanische PASAPORTE (mit einem S), jeweils entsprechend der Schreibweise im eigenen Dictionary. Das ist kein Tippfehler — behandeln Sie die beiden Werte nicht als gleichwertig.
Es wird keine OCR-Extraktion durchgeführt und kein Feld in doc.data zurückgegeben, wenn doc.code den Wert UNKNOWN hat.
Kunden in Brasilien erhalten möglicherweise die vollständige Prozess-PayloadDie 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 erhalten möglicherweise das vollständige Prozessobjekt unten, mit Ergebnissen pro Fähigkeit in authenticationInfo.
{
"process": {
"id": "53060f52-f146-4c12-a234-5bb5031f6f5b",
"flow": "idchecktrust",
"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": "smart_revalidation",
"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_INCONCLUSIVE",
"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 gesendete Flow-Kennung. |
process.callbackUri | string | Für Prozessereignisse konfigurierte Callback-URL. |
process.userRedirectUrl | string | URL zur Weiterleitung des Benutzers nach Abschluss der Journey. |
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 | Zweck des Prozesses, wie im Flow konfiguriert. |
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 Fähigkeiten. |
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 Fähigkeit. Siehe unten. |
process.companyData | object | Unternehmens- und Filialkontext. |
process.companyData.branchId | string | Filialkennung. |
process.companyData.countryCode | string | ISO-3166-1-Alpha-2-Ländercode. |
process.bioTokenData | object | Referenzprozess-Info — nur in 1:1-Validierungs- und Intelligente-Revalidierungs-Abläufen vorhanden. |
process.services | array | Signierte Umschläge, erfasste Dokumente und andere Service-Ausgaben. Siehe unten. |
| Wert | Bedeutung |
|---|---|
PROCESS_STATE_CREATED | Prozess erstellt; Benutzer hat die Journey noch nicht abgeschlossen. |
AWAITING_FOR_DOCUMENT | Prozess ohne Ausweisdokument erstellt; wartet darauf, dass es über Prozessdokument setzen gesetzt wird. Nur vorhanden, wenn der Custom Flow optionale Dokumente erlaubt. |
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 von den anderen States verwendet wird. Dies ist eine bekannte Inkonsistenz bei der Benennung in der aktuellen API.
| Wert | Bedeutung |
|---|---|
PROCESS_RESULT_OK | Alle Fähigkeiten haben positive Ergebnisse zurückgegeben. |
PROCESS_RESULT_INVALID_IDENTITY | Mindestens eine Fähigkeit hat ein eindeutig negatives Ergebnis zurückgegeben (z. B. Lebenderkennung fehlgeschlagen, Identität nicht übereinstimmend). |
PROCESS_RESULT_ERROR | Fehler bei der Ergebnisverarbeitung. |
PROCESS_RESULT_EXPIRED | Prozess ist 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 nicht im Flow verwendete Fähigkeiten geben *_UNSPECIFIED zurück.
Kurzwerte (z. B. livenessResult = LIVE, authenticationResult = INCONCLUSIVE) entsprechen direkt den hier dokumentierten vollständigen Enum-Werten (LIVENESS_RESULT_LIVE, AUTHENTICATION_RESULT_INCONCLUSIVE, etc.) — das Präfix wird der Kürze halber weggelassen.
| Feld | Fähigkeit | Mögliche Werte |
|---|---|---|
authenticationId | — | Eindeutige Kennung für diesen Authentifizierungsversuch. |
livenessResult | Lebenderkennung | 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 diesen CPF hinterlegt); -2 (Integrationsfehler). |
servicesDas Array services verwendet camelCase für Umschlag-Ebenen-Felder (envelopeId, documentIds) und snake_case für Dokument-Ebenen-Felder (doc_id, consent_granted, face_match usw.). Dies spiegelt die tatsächliche API-Antwort wider — beide Konventionen sind absichtlich und kein Dokumentationsfehler.
| Feld | Typ | Beschreibung |
|---|---|---|
envelopeId | string (UUID) | Kennung des signierten Umschlags. |
documentIds | array of strings | IDs der in diesem Service erfassten Dokumente. |
consent_granted | boolean | Ob der Benutzer 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 der CPF auf dem Dokument mit dem 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 Authentizitätsprüfung bestanden hat. |
documents[].reused_doc | boolean | Ob dieses Dokument von einem früheren Prozess wiederverwendet wurde. |
documents[].signed_url | string | Vorsignierte URL zum Herunterladen des Dokument-PDFs (5 Minuten gültig — erneut abrufen zum Erneuern). |
documents[].doc.version | integer | OCR-Schema-Version. |
documents[].doc.code | string | Kurzer Dokumenttyp-Code (z. B. CNH). Siehe Dokumenttypen und OCR-Felder für alle Werte und die Herleitung des Codes. |
documents[].doc.data | object | Extrahierte OCR-Felder. Der Inhalt variiert je nach Dokumenttyp — die vollständige Übersicht finden Sie in der vollständigen Feldreferenz. Die Feldnamen in doc.data (z. B. nomeCivil, dataNascimento) werden auf Portugiesisch zurückgegeben — das sind die tatsächlichen Werte, die von der OCR-Engine erzeugt werden. |
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 falsche 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 reached. When your system receives an HTTP 429 error, you must implement mechanisms to prevent cascading failures and avoid worsening the restriction.
Best practices:
- Cool-down period (backoff): Immediately halt or throttle subsequent requests from your system. Do not continuously retry failed requests in a tight loop.
- Queueing & throttling: Buffer or queue outgoing requests on your end to control the traffic flow before re-sending them.
- Exponential backoff with jitter: When retrying, increase the waiting time exponentially between attempts (e.g., 1 s, 2 s, 4 s, 8 s) and add a small random delay ("jitter") to prevent a herd effect where all queued requests retry at the exact same millisecond.
Continuously hitting a rate-limited endpoint without backing off can prolong the restriction period and severely impact your system's operational throughput. Properly throttling requests on your side ensures a smoother, more resilient integration.
For default limits, increase requests and additional details, see 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 Ereignisse.
Nächste Schritte
- Für das erfasste Selfie siehe Selfie abrufen.
- Für das Audit-Beweisbundle siehe Beweissatz abrufen.