---
updatedAt: 2026-09-17T06:11:55.000Z
agentTools:
  projectIndex: https://readme.floid.io/llms.txt
---

# Listar Consentimientos

# Listar Consentimientos

`POST /cl/consent_manager/list_consents`

Devuelve una lista paginada de los consentimientos del cliente autenticado, con filtros opcionales.

* **URL de producción:** `https://api.floid.app/cl/consent_manager/list_consents`
* **URL de sandbox:** `https://sandbox.floid.app/cl/consent_manager/list_consents`

> **Contrato en inglés.** Los nombres de los campos del request y de la respuesta van en **inglés**. Los errores usan el envelope legacy con un `error_code` granular.

***

## Headers requeridos

```
Authorization: Bearer {{TOKEN}}
Content-Type: application/json
```

> El `client_id` se deriva del Bearer token. No lo envíes.

***

## Filtros (todos opcionales, body JSON)

| Campo        | Tipo    | Descripción                                                                    |
| ------------ | ------- | ------------------------------------------------------------------------------ |
| `framework`  | string  | `REDEC` (default) o `LPDP`.                                                    |
| `state`      | string  | Estado del consentimiento: `ACTIVE`, `REVOKED`, `EXPIRED`, `EXPIRING_SOON`.    |
| `person_rut` | string  | RUT exacto del titular.                                                        |
| `page`       | integer | Número de página (desde 1). Default `1`.                                       |
| `limit`      | integer | Tamaño de página. Default `20`, **máximo `100`** (valores mayores se truncan). |

***

## Ejemplo — listado básico

```bash
curl --location 'https://api.floid.app/cl/consent_manager/list_consents' \
  --header 'Authorization: Bearer {{TOKEN}}' \
  --header 'Content-Type: application/json' \
  --data '{
    "page": 1,
    "limit": 20
  }'
```

## Ejemplo — con filtros

```bash
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",
    "state": "ACTIVE",
    "limit": 50
  }'
```

***

## Respuesta exitosa (200)

```json
{
  "code": 200,
  "msg": "OK",
  "caseid": "550e8400-e29b-41d4-a716-446655440000",
  "data": {
    "items": [
      {
        "id": 501,
        "consent_token": "b9c2d0d3-7c4f-4e0a-9d3c-9e9c1f3a1234",
        "client_id": 42,
        "framework": "REDEC",
        "person_type": "NATURAL",
        "person_rut": "12345678-9",
        "person_name": "GONZALEZ/SILVA/CARLOS",
        "person_email": "cliente.demo@example.com",
        "institution_code": "987654321",
        "internal_code": "CONS-INT-001",
        "purpose": 2,
        "objective": "01",
        "medium": 1,
        "executive_rut": "11222333-4",
        "state": "ACTIVE",
        "validity_origin": "REDEC_REGULATION",
        "granted_date": "20260115",
        "granted_time": "103015",
        "expiration_date": "20260205",
        "expiration_time": "235959",
        "evidence_url": "https://storage.example.com/evidence/consent_501.pdf",
        "evidence_hash": "0F6400343D627EEF5A5346BC3E8006EE17B888D9D37945959602A5EC28980A47",
        "evidence_status": "SUCCESS",
        "evidence_file_format": "PDF_A",
        "created_by": "GATEWAY_API",
        "has_attorneys": false,
        "caseid": "b9c2d0d3-7c4f-4e0a-9d3c-9e9c1f3a1234"
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 20,
      "total": 137,
      "pages": 7
    }
  }
}
```

### Campos importantes de la respuesta

| Campo                        | Descripción                                                                             |
| ---------------------------- | --------------------------------------------------------------------------------------- |
| `data.items[]`               | Arreglo de consentimientos (cada item tiene la misma forma que devuelve `get_consent`). |
| `data.items[].consent_token` | Identificador único Floid (UUID). Úsalo en `get_consent`, `revoke_consent`.             |
| `data.items[].state`         | Estado del consentimiento.                                                              |
| `data.pagination.page`       | Página actual (desde 1).                                                                |
| `data.pagination.limit`      | Tamaño de página aplicado (tope 100).                                                   |
| `data.pagination.total`      | Total de consentimientos que cumplen los filtros.                                       |
| `data.pagination.pages`      | Cantidad total de páginas.                                                              |

***

## Errores

| `error_code`     | `error_type` | HTTP | Cuándo                  |
| ---------------- | ------------ | ---- | ----------------------- |
| `INTERNAL_ERROR` | INTERNAL     | 500  | Error de base de datos. |