Récupérez un processus existant par son identifiant. Selon le contrat API, le résultat est déjà retourné de manière synchrone à la création du processus — utilisez ce endpoint pour les re-requêtes, l'audit et le support.
Avant de récupérer le processus, consultez notre configuration webhook et nos stratégies de repli — cliquez ici.
Point de terminaison
| Environnement | URL |
|---|---|
| Production | GET https://api.id.unico.app/processes/v1/{processId} |
| Sandbox | GET https://api.id.uat.unico.app/processes/v1/{processId} |
Requête
| En-tête | Valeur |
|---|---|
Authorization | Bearer <access_token> |
APIKEY | Clé API provisionnée. |
| Paramètre | Type | Requis | Description |
|---|---|---|---|
processId | string (UUID) | oui | Identifiant du processus retourné par Créer un processus. |
Exemple
- cURL
- Node.js
curl -X GET https://api.id.unico.app/processes/v1/$PROCESS_ID \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY"
import fetch from 'node-fetch';
const res = await fetch(
`https://api.id.unico.app/processes/v1/${processId}`,
{
headers: {
Authorization: `Bearer ${accessToken}`,
APIKEY: apiKey
}
}
);
const result = await res.json();
Réponses
Le contrat est unique — le champ idCloud.result porte le verdict consolidé des capacités utilisées.
Unico consolide les résultats des capacités exécutées en un seul idCloud.result, prêt à décider de la prochaine étape de votre flux — sans besoin d'orchestrer les résultats individuels.
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"idCloud": {
"result": "approved"
}
}
| Champ | Type | Description |
|---|---|---|
id | string (UUID) | Identifiant du processus. |
status | integer | 1 (en traitement), 2 (divergence), 3 (terminé avec succès), 4 (annulé), 5 (erreur). |
| idCloud.result | Signification | Action recommandée |
|---|---|---|
| approved | Personne réelle et identité validée. | Poursuivez le flux. |
| denied | Identité non validée, échec de la détection de vie, ou risque extrême identifié. | Terminez le flux ou redirigez vers un flux alternatif. |
| critical-risk | Niveau de risque critique identifié. | Terminez le flux ou orientez vers une révision manuelle. |
| high-risk | Niveau de risque élevé identifié. | Orientez vers une révision manuelle ou un flux alternatif. |
| retry | Capture ou score insuffisant pour l'évaluation. | Demandez à l'utilisateur une nouvelle capture. |
| inconclusive | Preuves insuffisantes pour un verdict. | Orientez vers une révision manuelle ou un flux alternatif. |
Les valeurs retournées dépendent de la recette configurée dans votre APIKey. Consultez Flux pour connaître les valeurs de résultat que chaque recette peut retourner.
Les clients au Brésil peuvent recevoir la réponse par capacitéLa structure globale de la réponse reste la même — le résultat unique est la valeur par défaut.

La structure globale de la réponse reste la même — le résultat unique est la valeur par défaut.
Les intégrations au Brésil peuvent recevoir les résultats ouverts, par capacité. Chaque capacité activée dans l'APIKey ajoute son propre bloc à la réponse — les champs des capacités désactivées sont omis.
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"unicoId": {
"result": "yes"
},
"riskLevel": {
"result": "inconclusive"
},
"idFace": {
"personId": "a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890",
"result": "FOUND"
},
"identityFraudsters": {
"result": "inconclusive"
},
"government": {
"serpro": 87
},
"liveness": 1,
"idAge": {
"result": "yes"
},
"cardholderVerification": {
"result": "approved"
}
}
| Champ | Type | Description |
|---|---|---|
unicoId.result | string | yes, no, inconclusive — voir Vérification d'identité. |
riskLevel.result | string | not_approved, critical_risk, high_risk, inconclusive — voir Classification du risque de fraude. |
idFace.result | string | FOUND — voir Identifiant Facial. |
idFace.personId | string | Identifiant opaque stable pour le visage, retourné conjointement à idFace.result = FOUND. Lorsqu'aucun visage ne peut être identifié dans l'image, le processus retourne l'erreur 20532 au lieu d'un bloc idFace. |
identityFraudsters.result | string | Obsolète. Utilisez riskLevel à la place. Les clients ayant des intégrations en cours peuvent continuer à l'utiliser en coordonnant la migration avec leur équipe projet. |
government.serpro | integer | Score de similarité Serpro (0–100, -1, -2). Disponible au Brésil uniquement. Voir Retour de similarité Serpro. |
liveness | integer | 1 (réussi), 2 (échoué) — voir Détection de Vie. |
idAge.result | string | yes, no, inconclusive — voir Vérification de l'âge. Disponible au Brésil uniquement. |
score | integer | Score de risque probabiliste. Présent lorsque unicoId.result = inconclusive et que l'orchestration du score de risque est active. Les valeurs positives indiquent une probabilité plus élevée d'être le titulaire ; les valeurs négatives indiquent un risque plus élevé. Disponible au Brésil uniquement. |
cardholderVerification.result | string | approved, unsure — voir Cardholder Verification. Absent lorsque status n'est pas encore 3 (terminé). Disponible au Brésil uniquement. |
Les clients au Mexique peuvent recevoir le bloc RENAPO VerificationLa réponse conserve la même structure et ajoute le bloc idGov.

La réponse conserve la même structure et ajoute le bloc idGov.
Les intégrations au Mexique avec RENAPO Verification activé reçoivent un bloc `idGov` supplémentaire contenant l'enregistrement que le RENAPO détient pour la CURP de l'utilisateur. Il s'agit d'une réponse distincte du résultat d'identité.
{
"id": "11111111-2222-3333-4444-555555555555",
"status": 3,
"idCloud": { "result": "approved" },
"idGov": {
"government_valid": true,
"curp": "PUEA880304MDFRJN04",
"government_name": "ANA PRUEBA EJEMPLO",
"date_of_birth": "1988-03-04",
"age": 38,
"gender": "F",
"deceased": false,
"is_mexican": true,
"citizenship": "MEXICO",
"state_of_birth": "Ciudad de México",
"state_iso": "MX-CMX",
"issuing_entity_code": "DF",
"municipality_registration": ""
}
}
| Champ | Type | Description |
|---|---|---|
idGov | object | Enregistrement du RENAPO pour la CURP. Absent lorsque la capacité n'est pas activée. {} lorsque le RENAPO n'a pas répondu. Mexique uniquement. Voir RENAPO Verification. |
Quand utiliser ce endpoint
Le contrat API retourne les résultats de manière synchrone, donc la plupart des intégrations n'ont pas besoin de ce endpoint. Utilisez-le lorsque :
- Vous avez enregistré uniquement le
processIdet devez récupérer le résultat complet plus tard (audit, support). - Vous suspectez que la réponse originale a été perdue en transit (erreur réseau après que la plateforme a terminé le travail).
- Vous construisez un outil de back-office qui examine les processus historiques.
Codes d'erreur
- 400 Bad Request
- 404 Not Found
- 403 Forbidden
- 410 Gone
- 429 Too Many Requests
- 500 Internal Server Error
| Code | Message | Description |
|---|---|---|
20023 | O parâmetro processId não foi informado. | Le paramètre d'identifiant de processus est manquant. |
20002 | O parâmetro APIKey não foi informado. | Le paramètre APIKEY est manquant dans l'en-tête de la requête. |
20001 | O parâmetro authtoken não foi informado. | Le paramètre de jeton d'intégration est manquant dans l'en-tête de la requête. |
| Code | Message | Description |
|---|---|---|
50001 | O processo informado não foi encontrado. | Le processus n'existe pas dans la base de données. |
| Code | Message | Description |
|---|---|---|
30017 | User does not have permission to perform this action. | JWT malformé ou utilisateur sans permission pour effectuer cette opération. |
10502 | O token informado está expirado. | Lorsque le jeton d'accès utilisé a expiré. |
10501 | O token informado é inválido. | Le jeton d'authentification est invalide. |
10201 | O AppKey informado é inválido. | Le paramètre APIKEY n'a pas été saisi ou n'existe pas. |
Le processus existe mais a résulté en une erreur. Retourne uniquement id et status: 5.
Limite de débit atteinte. Lorsque votre système reçoit une erreur HTTP 429, vous devez implémenter des mécanismes pour prévenir les défaillances en cascade et éviter d'aggraver la restriction.
Bonnes pratiques :
- Période de repos (backoff) : Arrêtez ou réduisez immédiatement les requêtes suivantes de votre système. Ne réessayez pas continuellement les requêtes échouées dans une boucle serrée.
- File d'attente et limitation (Queueing & throttling) : Mettez en mémoire tampon ou en file d'attente les requêtes sortantes de votre côté pour contrôler le flux de trafic avant de les renvoyer.
- Backoff exponentiel avec jitter : Lors des nouvelles tentatives, augmentez le temps d'attente de manière exponentielle entre les essais (par exemple, 1 s, 2 s, 4 s, 8 s) et ajoutez un petit délai aléatoire ("jitter") pour éviter un effet de troupeau où toutes les requêtes en file d'attente réessaient exactement à la même milliseconde.
Envoyer continuellement des requêtes vers un endpoint soumis à une limite de débit sans appliquer de backoff peut prolonger la période de restriction et impacter sévèrement le débit opérationnel de votre système. Limiter correctement les requêtes de votre côté garantit une intégration plus fluide et plus résiliente.
Pour les limites par défaut, l'augmentation des requêtes et des détails supplémentaires, consultez Limites de débit.
| Code | Message | Description |
|---|---|---|
99999 | Internal failure! Try again later | Lorsqu'il y a une erreur interne. |
Flux
Une recette est la combinaison de capacités (détection de vie, vérification d'identité, signaux de risque, documents...) configurée dans l'APIKey de votre projet. Elle définit ce qu'Unico exécute dans chaque processus et comment les résultats sont consolidés dans le result unique — vous n'avez besoin de rien orchestrer de votre côté.
Unico maintient un catalogue de recettes préétablies, nommées et versionnées (ex. byunico-idlive-idunico-oneresponse-std). Certaines sont exclusives au Brésil, comme celles qui incluent le Score, Serpro ou la vérification de l'âge.
La combinaison de capacités — le flux de votre projet — est définie dans la configuration de votre APIKey. Consultez les recettes préétablies ou contactez votre interlocuteur projet Unico pour la personnaliser.