Saltar al contenido principal

Listar perfiles de compliance

Este endpoint lista los perfiles de compliance buscados por nombre en tu cuenta, ya sea que se hayan cargado desde la plataforma o con Cargar perfil en Compliance. Puedes filtrarlos por nombre, tipo de persona, país, estado, monitoreo y fecha de carga.

  • Consultar los perfiles no tiene costo.
  • Requiere que tu plan incluya el módulo de compliance.
  • Incluye todos los perfiles activos de tu cuenta, sin importar qué usuario los cargó.
Qué cambia respecto a la v2

Endpoint nuevo en la v3. Ver la Guía de Migración.

Detalle de API​

Request​

  • URL: /compliance/perfiles
  • Método: GET

Parámetros de consulta (query)​

Todos los parámetros son opcionales.

ValorTipoEs requeridoDescripción
nombrestringNoBusca perfiles cuyo nombre contenga el texto (entre 2 y 200 caracteres). No distingue mayúsculas ni tildes.
tipoPersonastringNonatural o juridical.
paisstringNoPaís de la búsqueda, como código (ej: CL) o nombre en español (ej: Chile).
estadostringNoEN_CURSO, COMPLETADO o FALLIDO (ver Estados del perfil).
monitoreobooleanNotrue para los perfiles en monitoreo; false para las consultas.
desdestringNoFecha de carga inicial, inclusive, en UTC (formato DD-MM-YYYY).
hastastringNoFecha de carga final, inclusive, en UTC (formato DD-MM-YYYY). No puede ser anterior a desde.
pagenumberNoPágina a consultar. Entero mayor o igual a 1. Por defecto 1. Cada página trae hasta 50 perfiles.

Ejemplo request con curl​

curl -X 'GET' \
'https://prod.api.thesheriff.cl/api/clients/v3/compliance/perfiles?tipoPersona=natural&estado=COMPLETADO&page=1' \
-H 'accept: application/json' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9EjemploDeToken123'

Response​

Success

  • Status code: 200

  • Example response body:

    {
    "success": true,
    "data": {
    "perfiles": [
    {
    "id": 7,
    "nombreCompleto": "JUAN PEREZ SOTO",
    "tipoPersona": "natural",
    "toleranciaBusqueda": 1,
    "pais": "Chile",
    "estado": "COMPLETADO",
    "riesgo": "medium",
    "monitoreo": true,
    "fechaCarga": "13-08-2026 12:00:00",
    "ultimaActualizacion": "14-08-2026 09:30:00",
    "marshal": {
    "totalInvestigaciones": 2,
    "ultima": {
    "id": "0b6c1d9e-7a7f-4a2b-9c55-3f1e2d4a5b6c",
    "estado": "COMPLETADA",
    "riesgo": "ALTO",
    "fecha": "10-08-2026 12:00:00"
    }
    }
    },
    {
    "id": 6,
    "nombreCompleto": "EMPRESA FICTICIA SPA",
    "tipoPersona": "juridica",
    "toleranciaBusqueda": 0,
    "pais": null,
    "estado": "COMPLETADO",
    "riesgo": "free",
    "monitoreo": false,
    "fechaCarga": "12-08-2026 16:20:00",
    "ultimaActualizacion": "12-08-2026 16:21:10",
    "marshal": {
    "totalInvestigaciones": 0,
    "ultima": null
    }
    }
    ],
    "pagina": 1,
    "totalPaginas": 1,
    "cantidad": 2
    }
    }

Campos de la respuesta:

CampoTipoDescripción
successbooleanIndica si la operación fue exitosa.
dataobjectPágina de perfiles y datos de paginación.

Campos dentro de data:

CampoTipoDescripción
perfilesarrayPerfiles de la página, del más reciente al más antiguo (ver campos anidados).
paginanumberPágina devuelta.
totalPaginasnumberCantidad de páginas (50 perfiles por página); 0 si no hay resultados.
cantidadnumberCantidad total de perfiles que cumplen los filtros.

Campos dentro de cada elemento de perfiles:

CampoTipoDescripción
idnumberIdentificador del perfil. Úsalo en Detalle de un perfil.
nombreCompletostringNombre o razón social buscado.
tipoPersonastring"natural" o "juridica".
toleranciaBusquedanumberTolerancia de la búsqueda: 0 (exacta) a 2 (más flexible).
paisstringPaís de la búsqueda, con su nombre en español; null si se buscó sin país.
estadostringEstado del perfil (ver Estados del perfil).
riesgostringRiesgo agregado: "free", "medium" o "critical"; null si aún no se calcula.
monitoreobooleantrue si el perfil está en monitoreo.
fechaCargastringFecha y hora de carga (formato DD-MM-YYYY HH:mm:ss, UTC).
ultimaActualizacionstringFecha y hora de la última actualización del resultado (formato DD-MM-YYYY HH:mm:ss, UTC); puede ser null.
marshalobjectResumen de las investigaciones Marshal del perfil; null si tu plan no cuenta con Marshal (ver tabla siguiente).

Campos dentro de marshal:

CampoTipoDescripción
totalInvestigacionesnumberCantidad de investigaciones Marshal del perfil, incluidas las fallidas que luego se reintentaron.
ultimaobjectÚltima investigación: id, estado (EN_CURSO, COMPLETADA o FALLIDA), riesgo y fecha (DD-MM-YYYY HH:mm:ss); null si no tiene.

Para ver todas las investigaciones de un perfil, usa Investigaciones de un perfil.

La respuesta tiene la misma estructura para personas naturales y jurídicas; el campo tipoPersona indica el tipo de cada perfil.

Estados del perfil​

EstadoSignificado
EN_CURSOLa búsqueda todavía se está procesando.
COMPLETADOLa búsqueda terminó y el resultado está disponible.
FALLIDOLa búsqueda no pudo completarse.

Errores​

Además de los errores comunes, este endpoint puede responder:

400 - Parámetros inválidos​

Algún parámetro de la consulta no es válido. El mensaje indica el parámetro rechazado; si hay más de uno, los mensajes vienen uno a continuación del otro, separados por un espacio. Corrige los parámetros indicados y vuelve a enviar la solicitud.

Cuándo ocurreMensaje en error
nombre de 1 carácterEl campo 'nombre' debe tener al menos 2 caracteres.
tipoPersona inválidoEl campo 'tipoPersona' debe ser uno de: [natural, juridical].
pais de 1 carácterEl campo 'pais' debe tener al menos 2 caracteres.
estado inválidoEl campo 'estado' debe ser uno de: [EN_CURSO, COMPLETADO, FALLIDO].
monitoreo no booleanoEl campo 'monitoreo' debe ser verdadero o falso.
desde o hasta con otro formatoLa fecha debe tener el formato DD-MM-YYYY.
desde posterior a hastaLa fecha "desde" no puede ser posterior a "hasta".
page menor a 1El campo 'page' debe ser mayor o igual a 1.
{
"success": false,
"code": 400,
"error": "El campo 'estado' debe ser uno de: [EN_CURSO, COMPLETADO, FALLIDO]."
}

401 - No autorizado​

El token no se envió, expiró o no es válido (ver Errores de autenticación). Si expiró, solicita uno nuevo en Obtener Token.

{
"success": false,
"code": 401,
"error": "El token de autenticación no es válido."
}

403 - Plan sin el módulo de compliance​

Tu plan no incluye el módulo de compliance.

{
"success": false,
"code": 403,
"error": "El plan no cuenta con el módulo de compliance."
}

429 - Demasiadas solicitudes​

Superaste el límite de solicitudes (ver Rate Limits). Espera los segundos que indica el header Retry-After antes de reintentar.

{
"success": false,
"code": 429,
"error": "Demasiadas solicitudes desde esta API externa, intente más tarde."
}

500 - Error interno del servidor​

Ocurrió un error inesperado. Intenta nuevamente más tarde.

{
"success": false,
"code": 500,
"error": "Ocurrió un error interno. Intenta nuevamente más tarde."
}