Skip to content

Autenticación y scopes ​

Una sola API Key habilita toda la API. Lo que cambia entre superficies no es el mecanismo: son los scopes.

API Key ​

Cada request debe autenticarse con una API Key (prefijo ilk_). Podés enviarla de dos formas (si van ambas, gana Authorization):

http
Authorization: Bearer ilk_live_xxx
http
x-api-key: ilk_live_xxx

Si falta o es inválida/revocada/expirada, la API responde 401 con un mensaje genérico (no distingue el motivo, por seguridad).

Scopes (alcances) ​

La autorización es aditiva (ALL_OF): tu key debe tener todos los scopes que exige la superficie, el modelo, la fuente o el nivel involucrados.

ScopePara qué
person_search:readRequerido para usar la búsqueda de personas.
person_search:advancedRequerido además para el modelo PERSON_ADVANCED.
provider:arcaRequerido para incluir los payloads de ARCA en la respuesta.
  • Si te falta person_search:read → 403.
  • Si pedís PERSON_ADVANCED sin person_search:advanced → 403.
  • Si te falta provider:arca, no es un error: la fuente ARCA simplemente se excluye de la respuesta, de forma silenciosa.

Fuentes ​

ScopePara qué
sources:readRequerido para el catálogo y para consultar cualquier fuente.
provider:igjRequerido además para consultar IGJ.
provider:arcaRequerido además para consultar ARCA.
provider:bcraRequerido además para consultar BCRA.
provider:informelegalRequerido además para consultar InformeLegal.

Acá la fuente es la consulta: sin su scope la respuesta es 403, nunca un resultado vacío. El endpoint GET /api/v1/sources te dice, por fuente, si tu key está autorizada (authorized).

Validaciones ​

ScopePara qué
utils:email:validateRequerido para validar emails.
utils:phone:validateRequerido para los niveles LOCAL y CHECKMOBI_VERIFY del teléfono.
utils:phone:mnpRequerido para el nivel MNP (pago).
utils:phone:hlrRequerido para el nivel HLR (pago).

Los scopes de los niveles pagos son independientes de utils:phone:validate: tener uno no implica el otro.

Dos maneras de negar, y por qué ​

SituaciónRespuestaPor qué
Falta el scope de la superficie o del modelo403Sin eso no hay consulta posible.
Falta el scope de una fuente en Person Search200 sin esa dimensiónEl resto del resultado sigue siendo útil y correcto.
Falta el scope de una fuente en la consulta directa403La fuente es la consulta: un 200 vacío sería engañoso.

Buenas prácticas ​

  • Tratá la API Key como un secreto: no la pongas en URLs, logs ni en el código del frontend.
  • Nunca envíes claves personales (CUIT/DNI) en la query string; van siempre en el cuerpo del POST.
  • Rotá tu key si sospechás que se filtró (el equipo puede revocarla y emitir una nueva).

Ver también: Errores · Modelos · Fuentes.