Skip to content

API — Sedes ​

Base: /api/companies/branches

Todos los endpoints requieren Bearer token + x-company-id.


GET /api/companies/branches ​

Lista paginada de sedes de la empresa activa.

Permiso: branches:read

Query params:

ParamDescripción
page, limitPaginación estándar
searchBusca en nombre y ciudad
statusactive | inactive
sortByname | city | is_active | created_at
sortDirasc | desc

Respuesta 200:

json
{
  "success": true,
  "data": [
    {
      "id": "uuid",
      "company_id": "uuid",
      "name": "Sede Principal Bogotá",
      "code": "BOG-01",
      "address": "Calle 123 #45-67",
      "city": "Bogotá",
      "state": "Cundinamarca",
      "country": "Colombia",
      "postal_code": "110111",
      "phone": "+57 1 234 5678",
      "email": "bogota@empresa.com",
      "is_active": true,
      "is_main": true,
      "manager_user_id": "uuid",
      "manager_name": "Ana García",
      "timezone": "America/Bogota",
      "created_at": "2026-01-01T00:00:00Z",
      "updated_at": "2026-06-15T10:00:00Z"
    }
  ],
  "total": 8,
  "page": 1,
  "limit": 20
}

POST /api/companies/branches ​

Crea una nueva sede.

Permiso: branches:create

Body:

json
{
  "name": "Sede Medellín",
  "code": "MED-01",
  "address": "Carrera 43A #1-50",
  "city": "Medellín",
  "state": "Antioquia",
  "country": "Colombia",
  "postal_code": "050001",
  "phone": "+57 4 444 5555",
  "email": "medellin@empresa.com",
  "manager_user_id": "uuid-del-responsable",
  "timezone": "America/Bogota"
}
CampoRequerido
name✅
code—
address, city, state, country, postal_code—
phone, email—
manager_user_id— (UUID de un miembro de la empresa)
timezone— (ej: America/Bogota)

PATCH /api/companies/branches/:branchId ​

Actualiza una sede (todos los campos son opcionales).

Permiso: branches:update

Body: Mismos campos que en POST, más:

json
{
  "is_active": false,
  "is_main": true
}

is_main

Solo puede haber una sede principal por empresa. Al marcar is_main: true, la sede que tenía ese flag lo pierde automáticamente.


DELETE /api/companies/branches/:branchId ​

Elimina una sede (soft delete — establece deleted_at).

Permiso: branches:delete

DANGER

No se puede eliminar una sede marcada como is_main = true. Primero asigna otra sede como principal.

Documentación de Kaleo — plataforma SaaS multi-tenant