Tema
Condomínios — Endpoints
Base URL: /api/condominiums
Permissões: Admin (CRUD), Syndic (leitura do próprio)
GET /api/condominiums
Lista condomínios da empresa.
Query params:
| Parâmetro | Tipo | Descrição |
|---|---|---|
page | integer | Página (padrão: 1) |
pageSize | integer | Itens por página |
search | string | Busca por nome ou CNPJ |
Resposta 200:
json
{
"data": [
{
"id": "g1h2i3j4-...",
"name": "Edifício Primavera",
"taxId": "12.345.678/0001-90",
"address": {
"street": "Rua Primavera",
"number": "500",
"city": "São Paulo",
"state": "SP",
"zipCode": "04001-000"
},
"syndic": {
"id": "h1i2j3k4-...",
"name": "Roberto Síndico"
},
"totalUnits": 24,
"createdAt": "2026-01-10T08:00:00Z"
}
],
"page": 1,
"pageSize": 20,
"total": 3,
"totalPages": 1,
"hasNext": false,
"hasPrevious": false
}GET /api/condominiums/:id
Retorna detalhes completos de um condomínio.
Resposta 200:
json
{
"id": "g1h2i3j4-...",
"name": "Edifício Primavera",
"taxId": "12.345.678/0001-90",
"email": "contato@edprimavera.com.br",
"phone": "(11) 3333-0001",
"address": { ... },
"syndic": {
"id": "h1i2j3k4-...",
"name": "Roberto Síndico",
"email": "roberto@email.com"
},
"properties": [
{
"id": "3fa85f64-...",
"code": "AP-001",
"status": "Rented"
}
],
"totalUnits": 24,
"createdAt": "2026-01-10T08:00:00Z"
}POST /api/condominiums
Cadastra um novo condomínio.
Body:
json
{
"name": "Residencial Outono",
"taxId": "98.765.432/0001-10",
"email": "contato@residencialoutono.com.br",
"phone": "(11) 3222-0002",
"syndicId": "h1i2j3k4-...",
"address": {
"street": "Av. Outono",
"number": "250",
"neighborhood": "Jardim Outono",
"city": "São Paulo",
"state": "SP",
"zipCode": "05001-000"
}
}| Campo | Tipo | Obrigatório |
|---|---|---|
name | string | Sim |
taxId | string | Sim (CNPJ) |
syndicId | guid | Sim |
address | object | Sim |
Resposta 201: Condomínio criado.
Erros:
409— CNPJ já cadastrado
PUT /api/condominiums/:id
Atualiza dados do condomínio.
DELETE /api/condominiums/:id
Remove condomínio (soft delete).
Permissões: Admin
Erros:
400— Condomínio possui imóveis vinculados
POST /api/condominiums/:id/expense-split
Gera rateio de despesa entre as unidades do condomínio.
Body:
json
{
"description": "Manutenção do elevador",
"totalValue": 4800.00,
"period": "2026-06",
"dueDate": "2026-06-20"
}Resposta 201: Lista de pagamentos gerados (um por unidade).