Endpoints Dominios
Endpoints para gestionar los dominios web de la organizacion.
Todos los endpoints requieren autenticacion JWT. El tenant se determina automaticamente desde el token.
Listar dominios
GET /api/v1/domainsQuery params:
| Param | Tipo | Descripcion |
|---|---|---|
legalEntityId | string | Filtrar por entidad legal |
isActive | boolean | Filtrar por estado activo/inactivo |
page | number | Pagina (default: 1) |
limit | number | Registros por pagina (default: 20, max: 100) |
Ejemplo:
curl -X GET "https://api.dpolab.com/api/v1/domains?isActive=true" \
-H "Authorization: Bearer {token}"Respuesta (200):
{
"success": true,
"data": {
"domains": [
{
"id": "dom_abc123",
"url": "www.ejemplo.cl",
"name": "Sitio corporativo",
"legalEntityId": "ent_xyz789",
"entityName": "Ejemplo SpA",
"isActive": true,
"isVerified": false,
"environment": "PRODUCTION",
"description": "Sitio web principal",
"createdAt": "2026-03-01T10:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 3,
"totalPages": 1
}
}
}Crear dominio
POST /api/v1/domainsBody:
{
"url": "www.ejemplo.cl",
"name": "Sitio corporativo",
"legalEntityId": "ent_xyz789",
"description": "Sitio web principal de la empresa",
"environment": "PRODUCTION"
}| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
url | string | Si | URL del dominio (3-255 caracteres) |
name | string | Si | Nombre descriptivo (1-200 caracteres) |
legalEntityId | string | Si | ID de la entidad legal responsable |
description | string | No | Descripcion adicional (max 1000) |
environment | string | No | PRODUCTION, STAGING o DEVELOPMENT (default: PRODUCTION) |
Respuesta (201):
{
"success": true,
"data": {
"id": "dom_new456"
}
}Obtener dominio
GET /api/v1/domains/:idRetorna el dominio con sus avisos de consentimiento, actividades del RAT y politicas de privacidad asociadas.
curl -X GET https://api.dpolab.com/api/v1/domains/dom_abc123 \
-H "Authorization: Bearer {token}"Respuesta (200):
{
"success": true,
"data": {
"id": "dom_abc123",
"url": "www.ejemplo.cl",
"name": "Sitio corporativo",
"legalEntityId": "ent_xyz789",
"entityName": "Ejemplo SpA",
"isVerified": false,
"verifiedAt": null,
"isActive": true,
"description": "Sitio web principal",
"environment": "PRODUCTION",
"createdAt": "2026-03-01T10:00:00Z",
"updatedAt": "2026-03-15T12:00:00Z",
"notices": [],
"activities": [],
"policies": []
}
}Actualizar dominio
PATCH /api/v1/domains/:idAcepta actualizacion parcial de los campos.
curl -X PATCH https://api.dpolab.com/api/v1/domains/dom_abc123 \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{ "name": "Sitio web principal", "description": "Actualizado" }'Respuesta (200):
{
"success": true,
"data": {
"id": "dom_abc123"
}
}Eliminar dominio
DELETE /api/v1/domains/:idElimina el dominio. Las referencias en tablas relacionadas (avisos, actividades) se desvinculan automaticamente.
curl -X DELETE https://api.dpolab.com/api/v1/domains/dom_abc123 \
-H "Authorization: Bearer {token}"Respuesta (200):
{
"success": true
}Vincular actividad RAT
POST /api/v1/domains/:id/activitiesVincula una actividad de tratamiento al dominio con un rol especifico.
Body:
{
"activityId": "act_abc123",
"role": "COLLECTION"
}| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
activityId | string | Si | ID de la actividad RAT |
role | string | Si | COLLECTION, STORAGE, PROCESSING o TRANSFER |
Respuesta (201):
{
"success": true,
"data": {
"id": "link_abc123"
}
}Desvincular actividad RAT
DELETE /api/v1/domains/:id/activities/:activityIdcurl -X DELETE https://api.dpolab.com/api/v1/domains/dom_abc123/activities/act_abc123 \
-H "Authorization: Bearer {token}"Sincronizar actividades (bulk)
POST /api/v1/domains/:id/activities/bulk-syncReemplaza todas las asociaciones de actividades del dominio de una vez.
Body:
{
"activities": [
{ "activityId": "act_001", "role": "COLLECTION" },
{ "activityId": "act_002", "role": "PROCESSING" }
]
}Respuesta (200):
{
"success": true
}Ver tambien
- Modulo Dominios — Guia funcional del modulo de dominios