Listar términos de consentimiento
GET
/v1/consent-termsDescripción
Lista los términos de consentimiento de la cuenta (Ley 21.719), junto con sus versiones. El id del término es el que debe enviarse al registrar un consentimiento.
Autenticación
Authorizationbearer tokenheaderobligatorio- API key con scope
consent:read. Formato:Bearer FD.<key_id>.<token>. X-Instance-Slugstringheaderobligatorio
Request
Query params:
pageinteger- Página, 1-indexed. Default: 1.
page_sizeinteger- Tamaño de página, 1–100. Default: 20.
Response
200 OKDevuelve una página de resultados:
data con los elementos y pagination para pedir la siguiente. Cada elemento tiene los campos que siguen.idintegerobligatorio- Identificador del término. Es el
term_idque se envía al registrar un consentimiento. namestringobligatorio- —
typestring, enum: `data_processing | service_terms | marketing | subscription | other`obligatorio- Naturaleza legal del término.
purpose_idsinteger[]obligatorio- Finalidades que cubre el término — ver `GET /v1/consent-purposes`. Es la bisagra con el envío: un remitente exige finalidades, y el consentimiento se registra contra una de estas. Siempre trae al menos una: el panel la exige al crear el término y no se puede editar después.
channelsstring[], valores: `mail | sms | wsp | call | push`obligatorio- Canales a los que aplica. Misma exigencia que
purpose_ids: siempre trae al menos uno. is_activebooleanobligatorio- Un término inactivo no puede recibir nuevos consentimientos — ver `POST .../consent-events`.
created_atstring (date-time)obligatorio- —
updated_atstring (date-time)obligatorio- —
versionsobject[]obligatorio- Historial de versiones del texto legal.
versions[].versionstringobligatorio- Etiqueta de la versión (por ejemplo
"1.0"). versions[].bodystringobligatorio- Texto legal completo de esa versión.
versions[].document_urlstring | null- URL a un documento externo con el texto completo, si se definió uno.
versions[].is_currentbooleanobligatorio- A lo sumo una versión por término la tiene en
true— es la que se aplica automáticamente al registrar un consentimiento nuevo. Publicar una versión nueva no la marca vigente: es una acción aparte del panel, así que un término puede tener versiones y ninguna vigente. En ese caso registrar un consentimiento devuelve409. versions[].published_atstring (date-time) | null- —
Request
curl -X GET "https://$API_HOST/v1/consent-terms" \
-H "Authorization: Bearer $API_KEY" \
-H "X-Instance-Slug: $SLUG"
Response
{
"data": [
{
"id": 4,
"name": "Tratamiento de datos personales",
"type": "data_processing",
"purpose_ids": [
1,
2
],
"channels": [
"mail"
],
"is_active": true,
"created_at": "2026-05-08T14:22:31Z",
"updated_at": "2026-05-08T14:22:31Z",
"versions": [
{
"version": "1.0",
"body": "Acepto el tratamiento de mis datos personales...",
"document_url": null,
"is_current": true,
"published_at": "2026-05-08T14:22:31Z"
}
]
}
],
"pagination": {
"page": 1,
"page_size": 20,
"has_more": false,
"total_items": 1,
"total_pages": 1
}
}