API Unités
Gérer les unités (appartements, stationnements, rangements) de votre syndicat via l'API.
Vue d'ensemble#
Le module Unités gère les espaces privatifs du syndicat : appartements, stationnements, rangements, locaux commerciaux, etc.
| Outil MCP | Méthode REST | Portée |
|---|---|---|
list_units | GET /api/units | read:co-owners |
create_unit | POST /api/units | write:co-owners |
update_unit | PATCH /api/units/:id | write:co-owners |
delete_unit | DELETE /api/units/:id | write:co-owners |
Objet Unit#
{
id: string; // UUID
number: string; // "101", "P-42", "R-12"
type: "apartment" | "parking" | "storage" | "commercial";
floor: number | null;
areaSqFt: number | null; // Superficie en pi²
areaSqM: number | null; // Superficie en m²
bedrooms: number | null; // Pour apartments
bathrooms: number | null;
fractionPercent: number; // Quote-part (0-100)
linkedUnits: string[]; // UUID[] — stationnements/rangements liés
cadastralLot: string | null; // Lot cadastral Québec
createdAt: string;
updatedAt: string;
}
Les stationnements et rangements liés à un appartement principal ont ce dernier dans linkedUnits. Utile pour regrouper lors de la facturation.
list_units#
Paramètres#
| Paramètre | Type | Description |
|---|---|---|
type | string | Filtrer par type (apartment, parking, …) |
floor | number | Filtrer par étage |
search | string | Recherche par numéro ou lot cadastral |
includeLinked | boolean | Inclure les unités liées dans la réponse |
Exemple#
{
"name": "list_units",
"arguments": {
"type": "apartment",
"includeLinked": true
}
}
create_unit#
Paramètres#
| Paramètre | Type | Requis | Description |
|---|---|---|---|
number | string | ✅ | Unique dans le syndicat |
type | string | ✅ | Un des 4 types |
floor | number | — | Étage (ex. 3, 0 pour RDC, -1 pour sous-sol) |
areaSqFt | number | — | Superficie en pieds carrés |
bedrooms | number | — | Nombre de chambres |
bathrooms | number | — | Nombre de salles de bain |
fractionPercent | number |
Exemple#
{
"name": "create_unit",
"arguments": {
"number": "302",
"type": "apartment",
"floor": 3,
"areaSqFt": 850,
"bedrooms": 2,
"bathrooms": 1,
"fractionPercent": 2.5
}
}
Unités liées#
Pour lier un stationnement à un appartement :
{
"name": "update_unit",
"arguments": {
"id": "parking-uuid",
"linkedUnits": ["apartment-uuid"]
}
}
Un stationnement peut être lié à un seul appartement à la fois. Un appartement peut avoir plusieurs stationnements/rangements liés.
Cohérence des quotes-parts#
La somme des fractionPercent de toutes les unités doit être 100 % (exigence de la déclaration de copropriété). Syndic+ le vérifie :
- En lecture :
GET /api/declaration/fraction-sumretourne la somme actuelle - En écriture : l'API refuse les modifications qui feraient tomber la somme en dehors de 99,5 % – 100,5 %
Pour corriger un déséquilibre, utilisez le module Déclaration → Quotes-parts qui propose un réajustement proportionnel.