Endpoints Organizacion
Endpoints para gestionar la estructura organizacional: workspaces, entidades legales y departamentos.
Todos los endpoints requieren autenticacion. Crear/editar/eliminar requiere rol OWNER o ADMIN.
Workspaces
Listar workspaces
GET /api/v1/org/workspacesRespuesta (200):
{
"success": true,
"data": {
"workspaces": [
{
"id": "ws_abc123",
"name": "Chile",
"description": "Operaciones en Chile"
}
]
}
}Crear workspace
POST /api/v1/org/workspacesBody:
{
"name": "Chile",
"description": "Operaciones en Chile"
}Entidades Legales
Listar entidades
GET /api/v1/org/entities?workspaceId={id}Query params:
| Param | Tipo | Descripcion |
|---|---|---|
workspaceId | string | Filtrar por workspace (opcional) |
Respuesta (200):
{
"success": true,
"data": {
"entities": [
{
"id": "ent_abc123",
"workspaceId": "ws_abc123",
"name": "Renovables del Sur S.A.",
"taxId": "76.543.210-K",
"legalRepName": "Juan Perez",
"legalRepEmail": "[email protected]",
"dpoUserId": null,
"dpoName": "Maria Lopez",
"dpoEmail": "[email protected]",
"postalAddress": "Av. Providencia 1234, Santiago",
"arcoPublicEmail": "[email protected]",
"isActive": true,
"createdAt": "2026-01-15T00:00:00.000Z",
"updatedAt": "2026-03-20T00:00:00.000Z"
}
]
}
}Crear entidad
POST /api/v1/org/entitiesBody:
{
"workspaceId": "ws_abc123",
"name": "Renovables del Sur S.A.",
"taxId": "76.543.210-K",
"legalRepName": "Juan Perez",
"legalRepEmail": "[email protected]",
"dpoName": "Maria Lopez",
"dpoEmail": "[email protected]",
"postalAddress": "Av. Providencia 1234, Santiago",
"arcoPublicEmail": "[email protected]"
}| Campo | Tipo | Obligatorio | Descripcion |
|---|---|---|---|
workspaceId | string | Si | ID del workspace |
name | string | Si | Razon social (2-200 chars) |
taxId | string | No | RUT (max 12 chars) |
legalRepName | string | No | Nombre del representante legal |
legalRepEmail | string | No | Email del representante legal |
dpoName | string | No | Nombre del DPO |
dpoEmail | string | No | Email del DPO |
postalAddress | string | No | Direccion postal (max 500 chars) |
arcoPublicEmail | string | No | Email publico para solicitudes ARCO |
Actualizar entidad
PATCH /api/v1/org/entities/{id}Body: Mismos campos que crear, todos opcionales. Solo se actualizan los campos enviados.
{
"dpoName": "Maria Lopez",
"dpoEmail": "[email protected]",
"arcoPublicEmail": "[email protected]"
}Eliminar entidad (soft delete)
DELETE /api/v1/org/entities/{id}Marca la entidad como inactiva. No elimina datos vinculados.
Asignar DPO
PATCH /api/v1/org/entities/{id}/dpoBody:
{
"userId": "usr_abc123"
}Asigna un usuario registrado como DPO de la entidad.
Departamentos
Listar departamentos
GET /api/v1/org/entities/{entityId}/departmentsRetorna un arbol jerarquico de departamentos.
Respuesta (200):
{
"success": true,
"data": {
"departments": [
{
"id": "dept_abc",
"name": "Recursos Humanos",
"description": "Area de personas",
"depth": 0,
"parentId": null,
"userCount": 5,
"children": [
{
"id": "dept_def",
"name": "Reclutamiento",
"depth": 1,
"parentId": "dept_abc",
"userCount": 2,
"children": []
}
]
}
]
}
}Crear departamento
POST /api/v1/org/departmentsBody:
{
"legalEntityId": "ent_abc123",
"name": "Recursos Humanos",
"description": "Area de personas",
"parentDepartmentId": null
}| Campo | Tipo | Obligatorio | Descripcion |
|---|---|---|---|
legalEntityId | string | Si | ID de la entidad legal |
name | string | Si | Nombre del departamento |
description | string | No | Descripcion |
parentDepartmentId | string | No | ID del departamento padre (para sub-areas) |
Eliminar departamento
DELETE /api/v1/org/departments/{id}Archiva el departamento. Los sub-departamentos quedan huerfanos.