Listar Consentimientos
Listar Consentimientos
POST /cl/consent_manager/list_consents
Devuelve una lista paginada de consentimientos del cliente autenticado, con filtros opcionales y respuesta consciente del ambiente (sandbox/prod).
- URL completa (prod):
https://api.floid.app/cl/consent_manager/list_consents - URL sandbox:
https://sandbox.floid.app/cl/consent_manager/list_consents
Headers requeridos
Authorization: Bearer {{TOKEN}}
Content-Type: application/json
Sandbox host-aware
| Host | Comportamiento por default | include_sandbox: true |
|---|---|---|
api.floid.app | Solo consentimientos de producción (sandbox_mode: "prod_only") | Mezcla prod + sandbox (sandbox_mode: "mixed") |
sandbox.floid.app | Solo consentimientos sandbox (sandbox_mode: "sandbox_only") | Ignorado — un host sandbox no puede leer prod |
Filtros (todos opcionales, body JSON)
| Campo | Tipo | Descripción |
|---|---|---|
person_rut | string | RUT exacto del titular |
codigo_institucion | string | Código de 9 dígitos de la institución |
codigo_interno | string | Código interno regulatorio del consentimiento |
consent_token | string | UUID Floid (devuelto por create_consent) |
custom_id | string | Match contra id_externo o codigo_interno_consentimiento (lo que el cliente haya pasado) |
rut_empresa | string | RUT de empresa (para JURIDICA) |
estado | string | ACTIVE | REVOKED | EXPIRED |
tipo_persona | string | NATURAL | JURIDICA |
finalidad | integer | 1 (comercial) | 2 (crediticia) |
medio | integer | 1 | 2 | 3 |
objetivo | string | "01"–"07" (con cero a la izquierda) |
has_evidence | boolean | true ⇒ solo consentimientos con evidence_hash cargado |
evidence_hash | string | Match exacto contra el SHA-256 de la evidencia |
evidence_status | string | PENDING | SUCCESS | FAILED | EXTERNAL |
fecha_desde | string | YYYY-MM-DD (filtra por timestamp_otorgamiento) |
fecha_hasta | string | YYYY-MM-DD |
include_sandbox | boolean | (solo desde api.floid.app) mezcla prod + sandbox |
order_by | string | timestamp_carga (default) | timestamp_otorgamiento_fecha | current_state | person_rut |
order_direction | string | DESC (default) | ASC |
limit | integer | Default 50, máximo 500 (valores mayores se truncan automáticamente) |
offset | integer | Default 0 |
id_clientese deriva del Bearer token. No lo envíes.
Ejemplo — listado básico
curl --location 'https://api.floid.app/cl/consent_manager/list_consents' \
--header 'Authorization: Bearer {{TOKEN}}' \
--header 'Content-Type: application/json' \
--data '{
"limit": 10,
"offset": 0
}'
Ejemplo — filtros
curl --location 'https://api.floid.app/cl/consent_manager/list_consents' \
--header 'Authorization: Bearer {{TOKEN}}' \
--header 'Content-Type: application/json' \
--data '{
"person_rut": "12345678-9",
"estado": "ACTIVE",
"limit": 50
}'
Ejemplo — desde prod, mezclando sandbox
curl --location 'https://api.floid.app/cl/consent_manager/list_consents' \
--header 'Authorization: Bearer {{TOKEN}}' \
--header 'Content-Type: application/json' \
--data '{
"include_sandbox": true,
"limit": 100
}'
Respuesta exitosa (200)
{
"code": "200",
"msg": "OK",
"caseid": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"consents": [
{
"id": 501,
"id_cliente": 10,
"is_sandbox": 0,
"consent_token": "b9c2d0d3-7c4f-4e0a-9d3c-9e9c1f3a1234",
"codigo_institucion": "987654321",
"codigo_interno_consentimiento": "CONS-INT-001",
"custom_id": "CONSENT-DEMO-001",
"tipo_persona": "NATURAL",
"person_rut": "12345678-5",
"person_email": "[email protected]",
"person_cellphone": "56998765432",
"person_name": "GONZALEZ/SILVA/CARLOS",
"rut_empresa": null,
"rut_ejecutivo": "11222333-4",
"medio": 1,
"finalidad": 2,
"objetivo": "01",
"estado": "ACTIVE",
"timestamp_otorgamiento_fecha": "20260115",
"timestamp_otorgamiento_hora": "103015",
"timestamp_expiracion_fecha": "20270115",
"timestamp_expiracion_hora": "103015",
"timestamp_revocacion_fecha": null,
"timestamp_revocacion_hora": null,
"timestamp_carga": "2026-01-15 10:30:15",
"uploaded_by": "API",
"ip": "192.168.10.25",
"navegador": "Chrome",
"evidence": {
"url": "https://storage.example.com/evidence/consent_501.pdf",
"hash": "0F6400343D627EEF5A5346BC3E8006EE17B888D9D37945959602A5EC28980A47",
"status": "SUCCESS"
},
"codigo_encriptado_consentimiento": "0F6400343D627EEF5A5346BC3E8006EE17B888D9D37945959602A5EC28980A47"
}
],
"pagination": {
"total": 137,
"limit": 50,
"offset": 0,
"has_more": true
},
"filters_applied": {
"limit": 50,
"offset": 0,
"order_by": "timestamp_carga",
"order_direction": "DESC"
},
"sandbox_mode": "prod_only",
"sandbox_included": false
}
}
Campos importantes en la respuesta
| Campo | Descripción |
|---|---|
data.consents[].consent_token | Identificador único Floid (UUID). Úsalo para get_consent, revoke_consent, etc. |
data.consents[].custom_id | El custom_id/id_externo que pasó el cliente al crear (puede ser null). |
data.consents[].estado | Renombrado en la respuesta desde la columna interna current_state. |
data.consents[].evidence | Bloque consolidado con url, hash y status. Sólo aparece si el consentimiento tiene evidencia cargada. |
data.pagination.has_more | Si es true, hay más resultados — incrementá offset por limit. |
data.sandbox_mode | "prod_only" | "sandbox_only" | "mixed". Indica qué subconjunto de datos devolvió la query. |
data.sandbox_included | Compatibilidad: true cuando la respuesta incluye filas sandbox (sandbox_only o mixed). |
Posibles errores
error_code | HTTP | Cuándo |
|---|---|---|
INVALID_REQUEST | 400 | Filtro con valor incompatible (ej. medio no numérico) |
INTERNAL_ERROR | 500 | Error de DB |
Si
limit > 500, el servidor lo trunca a 500 silenciosamente — no es error. Si necesitás más, paginá conoffset.
Última actualización: 12 de mayo de 2026.
