Download OpenAPI specification:
API de gestion locative Loctavia : mandataires, baux, quittancements, mandats, patrimoine (immeubles/lots), tiers, paiements et incidents.
Toutes les requêtes exigent un token Bearer (PAT, ex. via le device
flow CLI) avec le scope adapté au verbe HTTP : read pour les GET,
write pour les mutations. L'obtention des tokens est documentée sur
la page Authentification.
X-Mandataire-IdTous les endpoints (sauf GET /loctavia/api/v1/mandataires, qui sert
justement à les découvrir) exigent l'en-tête X-Mandataire-Id
identifiant le mandataire (tenant) sur lequel opérer. Un mandataire
inaccessible à l'utilisateur renvoie un 403.
Point d'entrée de l'API Loctavia : liste les mandataires (tenants)
accessibles à l'utilisateur. L'id retourné alimente l'en-tête
X-Mandataire-Id requis par tous les autres endpoints Loctavia.
Auth Bearer (PAT, ex. via le device flow CLI).
| sort | string |
| direction | string Default: "asc" Enum: "asc" "desc" |
| per_page | integer [ 1 .. 100 ] Default: 25 |
| page | integer >= 1 Default: 1 |
object |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
[- {
- "id": "3f8a1c2e-9b4d-4e5f-8a1b-2c3d4e5f6a7b",
- "reference": "BL-2024-00042",
- "leaseType": "residential",
- "status": "active",
- "startDate": "2024-01-01",
- "endDate": "2027-01-01",
- "tenantName": "Jean Dupont",
- "tenantId": "7a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
- "unitIdentifier": "A-101",
- "propertyName": "Résidence Les Tilleuls",
- "propertyId": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
- "monthlyRent": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "paymentTiming": "in_advance",
- "units": [
- {
- "identifier": "A-101",
- "propertyName": "Résidence Les Tilleuls"
}
]
}
]| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
| Content-Type required | string Value: "application/json" Example: application/json Type de contenu de la requête |
required | object |
object | |
Array of objects | |
| tenant_id | string <uuid> |
{- "lease": {
- "lease_type": "string",
- "reference": "string",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "signature_date": "2019-08-24",
- "payment_day": 0,
- "payment_frequency": "monthly",
- "payment_timing": "advance",
- "auto_renewal": true,
- "notice_months": 0,
- "status": "draft"
}, - "term": {
- "revision_month": 1,
- "effective_from": "2019-08-24",
- "effective_to": "2019-08-24"
}, - "units": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "base_rent_cents": 0,
- "charge_provision_cents": 0,
- "vat_applicable": true,
- "vat_rate": 0,
- "index_type": "irl"
}
], - "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0"
}{- "id": "3f8a1c2e-9b4d-4e5f-8a1b-2c3d4e5f6a7b",
- "reference": "BL-2024-00042",
- "leaseType": "residential",
- "status": "active",
- "startDate": "2024-01-01",
- "endDate": "2027-01-01",
- "tenantName": "Jean Dupont",
- "tenantId": "7a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
- "unitIdentifier": "A-101",
- "propertyName": "Résidence Les Tilleuls",
- "propertyId": "1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
- "monthlyRent": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "paymentTiming": "in_advance",
- "units": [
- {
- "identifier": "A-101",
- "propertyName": "Résidence Les Tilleuls"
}
]
}| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "id": "3f8a1c2e-9b4d-4e5f-8a1b-2c3d4e5f6a7b",
- "reference": "BL-2024-00042",
- "externalId": "LEGACY-88213",
- "leaseType": "residential",
- "status": "active",
- "startDate": "2024-01-01",
- "endDate": "2027-01-01",
- "signatureDate": "2023-12-15",
- "revisionMode": "automatic",
- "initialBalance": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "cafAllocataireNumber": "1234567",
- "paymentDay": 5,
- "paymentFrequency": "monthly",
- "paymentTiming": "in_advance",
- "noticeMonths": 3,
- "terms": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "baseRent": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "chargeProvision": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "totalMonthly": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "effectiveFrom": "2024-01-01",
- "effectiveTo": "2024-12-31",
- "revisionMonth": 1,
- "revisionFrequencyYears": 1
}
], - "parties": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "partyType": "tenant",
- "partyableType": "Loctavia::Contact",
- "role": "main",
- "name": "Jean Dupont",
- "email": "jean.dupont@example.com",
- "partyableId": "1cfae732-8e9c-42e5-8e88-887a3071b881",
- "shareNumerator": 1,
- "shareDenominator": 2,
- "validFrom": "2024-01-01",
- "validTo": "2027-01-01",
- "tenantProfileId": "b61ec85f-4d34-4fc4-8f6b-9a17f2a589cc"
}
], - "units": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "unitId": "b3eb5f92-604a-46b9-9881-9d84000fd7ed",
- "identifier": "A-101",
- "propertyName": "Résidence Les Tilleuls",
- "propertyId": "8e8b8450-dc1b-4360-8109-7067337b42cb",
- "areaSqm": 45.5,
- "entryDate": "2024-01-01",
- "exitDate": null,
- "baseRentCents": 60000,
- "annualAmountCents": 720000,
- "chargeProvisionCents": 10000,
- "vatApplicable": false,
- "vatRate": 20,
- "indexType": "IRL",
- "indexBaseDate": "2023-01-01",
- "indexBaseValue": 138.61
}
], - "revisionIndicator": {
- "indexCode": "IRL",
- "revisionDue": true,
- "lastRevisionDate": "2024-01-01",
- "estimatedIncrease": 3.5,
- "revisionMonth": 1,
- "indexAvailable": true,
- "latestPeriod": "2024-Q1",
- "nextPublicationInfo": {
- "period": "2024-Q2",
- "expectedDate": "2024-07-15"
}
}, - "revisions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "revisionDate": "2024-01-01",
- "indexCode": "IRL",
- "indexCodes": [
- "IRL"
], - "multiIndex": false,
- "referencePeriod": "2023-Q1",
- "revisionPeriod": "2024-Q1",
- "referenceValue": 138.61,
- "revisionValue": 143.46,
- "effectiveRatio": 1.035,
- "oldRent": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "newRent": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "increasePercent": 3.5,
- "computationTrace": { },
- "lines": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "leaseUnitId": "fd3bb8c8-5e30-4d93-b19e-a00ce2605b9c",
- "unitIdentifier": "A-101",
- "indexCode": "IRL",
- "referencePeriod": "2023-Q1",
- "revisionPeriod": "2024-Q1",
- "referenceValue": 138.61,
- "revisionValue": 143.46,
- "oldCents": 60000,
- "newCents": 62100,
- "increasePercent": 3.5
}
], - "createdBy": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Marie Martin"
}, - "createdAt": "2024-01-02T09:30:00Z"
}
], - "securityDeposit": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "gliPolicies": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "insurerName": "Assur'Loyer",
- "policyNumber": "GLI-2024-001",
- "premium": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "premiumFrequency": "monthly",
- "coverageRate": 3.5,
- "startDate": "2024-01-01",
- "endDate": "2025-01-01",
- "status": "active",
- "expiringSoon": false
}
], - "breakDates": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "breakDate": "2025-01-01",
- "breakType": "triennial",
- "noticeDeadline": "2024-07-01",
- "status": "upcoming",
- "daysUntilBreak": 180,
- "noticePeriodStarted": false
}
], - "franchisePeriods": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "startDate": "2024-01-01",
- "endDate": "2024-03-31",
- "franchiseType": "total",
- "reductionPercent": 100,
- "reason": "Travaux d'aménagement",
- "scopeType": "rent"
}
], - "cappingRules": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "cappingType": "cap_pinel",
- "referenceAmount": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "maxIncreasePercent": 3.5,
- "startDate": "2024-01-01",
- "zone": "A_bis"
}
], - "supportMeasures": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "modifierType": "discount",
- "category": "discount",
- "status": "active",
- "label": "Remise commerciale",
- "validFrom": "2024-01-01",
- "validTo": "2024-06-30",
- "priority": 10,
- "impactLabel": "-10%",
- "configuration": { },
- "sourceType": "SupportMeasure",
- "sourceId": "797f5a94-3689-4ac8-82fd-d749511ea2b2"
}
], - "autoRenewal": true,
- "renewalNoticePeriod": 6,
- "renewalNoticeDate": "2026-07-01"
}Quittancements (billing runs). Cycle : POST /billing_runs (calcul
asynchrone — poller le détail jusqu'au statut computed/review),
relecture des lignes (/lines, exclusion ou acquittement d'anomalies),
puis validate et apply.
| sort | string |
| direction | string Default: "asc" Enum: "asc" "desc" |
| per_page | integer [ 1 .. 100 ] Default: 25 |
| page | integer >= 1 Default: 1 |
object |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "FACT-2026-05",
- "status": "draft",
- "periodStart": "2019-08-24",
- "periodEnd": "2019-08-24",
- "totalTenantAmount": 0,
- "totalOwnerAmount": 0,
- "linesCount": 0,
- "anomaliesCount": 0,
- "validatedAt": "2019-08-24T14:15:22Z",
- "validatedBy": "string",
- "appliedAt": "2019-08-24T14:15:22Z",
- "billingFrequency": "string",
- "editable": true,
- "cancellable": true,
- "currentStep": 0,
- "allAnomaliesAcknowledged": true,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "computedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "totalRentAmount": 0,
- "totalChargesAmount": 0
}
]Le calcul est asynchrone (job). Le run renvoyé démarre en draft/scheduled avec linesCount 0 ; interroger GET /billing_runs/{id} jusqu au statut computed/review avant de valider.
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
| Content-Type required | string Value: "application/json" Example: application/json Type de contenu de la requête |
| period_start required | string <date> Premier jour du mois facturé (YYYY-MM-DD) |
| grouping_mode | string Enum: "per_lease" "per_tenant" |
| property_id | string <uuid> |
| schedule | boolean |
| frequencies | Array of strings Items Enum: "monthly" "quarterly" "annual" |
| timings | Array of strings Items Enum: "advance" "arrears" |
| lease_types | Array of strings |
| lease_ids | Array of strings <uuid> [ items <uuid > ] |
| exclude_lease_ids | Array of strings <uuid> [ items <uuid > ] |
{- "period_start": "2019-08-24",
- "grouping_mode": "per_lease",
- "property_id": "05003a8a-8f3c-454b-8884-a906ec46f5f5",
- "schedule": true,
- "frequencies": [
- "monthly"
], - "timings": [
- "advance"
], - "lease_types": [
- "string"
], - "lease_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "exclude_lease_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "FACT-2026-05",
- "status": "draft",
- "periodStart": "2019-08-24",
- "periodEnd": "2019-08-24",
- "totalTenantAmount": 0,
- "totalOwnerAmount": 0,
- "linesCount": 0,
- "anomaliesCount": 0,
- "validatedAt": "2019-08-24T14:15:22Z",
- "validatedBy": "string",
- "appliedAt": "2019-08-24T14:15:22Z",
- "billingFrequency": "string",
- "editable": true,
- "cancellable": true,
- "currentStep": 0,
- "allAnomaliesAcknowledged": true,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "computedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "totalRentAmount": 0,
- "totalChargesAmount": 0
}| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "FACT-2026-05",
- "status": "draft",
- "periodStart": "2019-08-24",
- "periodEnd": "2019-08-24",
- "totalTenantAmount": 0,
- "totalOwnerAmount": 0,
- "linesCount": 0,
- "anomaliesCount": 0,
- "validatedAt": "2019-08-24T14:15:22Z",
- "validatedBy": "string",
- "appliedAt": "2019-08-24T14:15:22Z",
- "billingFrequency": "string",
- "editable": true,
- "cancellable": true,
- "currentStep": 0,
- "allAnomaliesAcknowledged": true,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "computedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "totalRentAmount": 0,
- "totalChargesAmount": 0,
- "groupingMode": "string",
- "cancelledAt": "2019-08-24T14:15:22Z",
- "cancellationReason": "string",
- "metadata": { },
- "ownerPaymentsSummary": {
- "count": 0,
- "totalGross": 0,
- "totalNet": 0
}, - "billingNoticesSummary": {
- "count": 0,
- "totalAmountCents": 0,
- "notices": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "string",
- "tenantName": "string",
- "totalAmountCents": 0,
- "linesCount": 0
}
]
}, - "receiptsMetadata": { },
- "scopeSummary": {
- "period": "mai 2026",
- "frequencies": [
- "string"
], - "timings": [
- "string"
], - "leaseTypes": [
- "string"
], - "propertyId": "8e8b8450-dc1b-4360-8109-7067337b42cb",
- "linesCount": 0,
- "excludedCount": 0,
- "totalLeases": 0
}, - "vatBreakdown": { }
}| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| type | string Default: "tenant" Enum: "tenant" "owner" |
| per_page | integer [ 1 .. 100 ] Default: 25 |
| page | integer >= 1 Default: 1 |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineType": "tenant",
- "billingCategory": "string",
- "computedAmount": 0,
- "baseAmount": 0,
- "status": "pending",
- "leaseId": "a3abd432-1f03-4b93-888c-0da4d3703e99",
- "unitIdentifier": "string",
- "hasAnomaly": true,
- "anomalyType": "string"
}
]| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| line_id required | string <uuid> |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
| Content-Type required | string Value: "application/json" Example: application/json Type de contenu de la requête |
| excluded | boolean |
| review_status | string Enum: "ok" "flagged" |
| comment | string |
{- "excluded": true,
- "review_status": "ok",
- "comment": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineType": "tenant",
- "billingCategory": "string",
- "computedAmount": 0,
- "baseAmount": 0,
- "status": "pending",
- "leaseId": "a3abd432-1f03-4b93-888c-0da4d3703e99",
- "unitIdentifier": "string",
- "hasAnomaly": true,
- "anomalyType": "string"
}| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| force | boolean Valide malgré des anomalies non acquittées (présence du paramètre = activé) |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "FACT-2026-05",
- "status": "draft",
- "periodStart": "2019-08-24",
- "periodEnd": "2019-08-24",
- "totalTenantAmount": 0,
- "totalOwnerAmount": 0,
- "linesCount": 0,
- "anomaliesCount": 0,
- "validatedAt": "2019-08-24T14:15:22Z",
- "validatedBy": "string",
- "appliedAt": "2019-08-24T14:15:22Z",
- "billingFrequency": "string",
- "editable": true,
- "cancellable": true,
- "currentStep": 0,
- "allAnomaliesAcknowledged": true,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "computedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "totalRentAmount": 0,
- "totalChargesAmount": 0
}| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "FACT-2026-05",
- "status": "draft",
- "periodStart": "2019-08-24",
- "periodEnd": "2019-08-24",
- "totalTenantAmount": 0,
- "totalOwnerAmount": 0,
- "linesCount": 0,
- "anomaliesCount": 0,
- "validatedAt": "2019-08-24T14:15:22Z",
- "validatedBy": "string",
- "appliedAt": "2019-08-24T14:15:22Z",
- "billingFrequency": "string",
- "editable": true,
- "cancellable": true,
- "currentStep": 0,
- "allAnomaliesAcknowledged": true,
- "scheduledAt": "2019-08-24T14:15:22Z",
- "computedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "totalRentAmount": 0,
- "totalChargesAmount": 0
}| sort | string |
| direction | string Default: "asc" Enum: "asc" "desc" |
| per_page | integer [ 1 .. 100 ] Default: 25 |
| page | integer >= 1 Default: 1 |
object |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "MG-2026-0042",
- "mandateType": "gestion_locative",
- "status": "active",
- "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
- "ownerActorId": "7489ec5e-dd90-4fe5-bb3a-4656813837ab",
- "ownerName": "SCI Les Tilleuls",
- "propertyId": "8e8b8450-dc1b-4360-8109-7067337b42cb",
- "propertyName": "Résidence Bellevue",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "managementFeeRate": 7.5,
- "paymentTiming": "term_echu",
- "createdAt": "2019-08-24T14:15:22Z"
}
]| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
| Content-Type required | string Value: "application/json" Example: application/json Type de contenu de la requête |
| owner_profile_id required | string <uuid> |
| property_id | string <uuid> |
| reference required | string |
| mandate_type | string Default: "full_management" Enum: "full_management" "rental_only" "charges_only" |
| start_date required | string <date> |
| end_date | string <date> |
| management_fee_rate | number |
{- "owner_profile_id": "21e0f360-ea66-4de2-b817-b59c51592556",
- "property_id": "05003a8a-8f3c-454b-8884-a906ec46f5f5",
- "reference": "MAN-2026-001",
- "mandate_type": "full_management",
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "management_fee_rate": 0.08
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "MG-2026-0042",
- "mandateType": "gestion_locative",
- "status": "active",
- "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
- "ownerActorId": "7489ec5e-dd90-4fe5-bb3a-4656813837ab",
- "ownerName": "SCI Les Tilleuls",
- "propertyId": "8e8b8450-dc1b-4360-8109-7067337b42cb",
- "propertyName": "Résidence Bellevue",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "managementFeeRate": 7.5,
- "paymentTiming": "term_echu",
- "createdAt": "2019-08-24T14:15:22Z"
}| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "MG-2026-0042",
- "mandateType": "gestion_locative",
- "status": "active",
- "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
- "ownerActorId": "7489ec5e-dd90-4fe5-bb3a-4656813837ab",
- "ownerName": "SCI Les Tilleuls",
- "propertyId": "8e8b8450-dc1b-4360-8109-7067337b42cb",
- "propertyName": "Résidence Bellevue",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "managementFeeRate": 7.5,
- "paymentTiming": "term_echu",
- "createdAt": "2019-08-24T14:15:22Z",
- "mandataireId": "9c02fc94-a11c-45dc-995e-ce15d253e0cd",
- "signatureDate": "2019-08-24",
- "vatRateOnFees": 20,
- "renewalMode": "tacit",
- "noticeMonths": 3,
- "specialConditions": "string",
- "distributionMode": "string",
- "distributionFrequency": "string",
- "distributionDay": 5,
- "distributionMarginDays": 0,
- "depotGarantieDetention": "string",
- "retenueDestination": "string",
- "accountingMode": "string",
- "effectiveAccountingMode": "string",
- "metadata": { },
- "mandateServices": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "serviceType": "string",
- "label": "string",
- "billingMode": "string",
- "rate": 0,
- "amountCents": 0,
- "calculationBase": "string",
- "frequency": "string",
- "triggerEvent": "string",
- "target": "string",
- "deliveryMode": "string",
- "vatApplicable": true,
- "vatRate": 0,
- "priority": 0,
- "active": true,
- "configuration": { },
- "position": 0
}
]
}| sort | string |
| direction | string Default: "asc" Enum: "asc" "desc" |
| per_page | integer [ 1 .. 100 ] Default: 25 |
| page | integer >= 1 Default: 1 |
object |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Résidence Les Tilleuls",
- "propertyType": "residence",
- "address": "12 rue des Lilas",
- "city": "Lyon",
- "postalCode": "69003",
- "hasElevator": true,
- "floorCount": 5,
- "active": true,
- "externalId": "string",
- "shareKeys": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Charges générales",
- "total": 10000,
- "chargeNatureId": "bcba10fb-4f9d-4d10-8294-bb345b911779",
- "distributionStrategy": 0,
- "excludedUnitTypes": [
- "string"
], - "lastModifiedAt": "2019-08-24T14:15:22Z",
- "activeVersionsCount": 0,
- "historicalVersionsCount": 0
}
], - "unitsCount": 24,
- "activeLeaseCount": 18,
- "occupiedCount": 18,
- "vacantCount": 6,
- "totalSurface": 1240.5,
- "occupancyRate": 75
}
]| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
| Content-Type required | string Value: "application/json" Example: application/json Type de contenu de la requête |
| name required | string |
| address required | string |
| city | string |
| postal_code | string |
| property_type | string Default: "commercial" Enum: "residential" "commercial" "mixed" |
| has_elevator | boolean |
| floor_count | integer |
{- "name": "Résidence de la Paix",
- "address": "1 rue de la Paix, 75002 Paris",
- "city": "string",
- "postal_code": "string",
- "property_type": "residential",
- "has_elevator": true,
- "floor_count": 0
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Résidence Les Tilleuls",
- "propertyType": "residence",
- "address": "12 rue des Lilas",
- "city": "Lyon",
- "postalCode": "69003",
- "hasElevator": true,
- "floorCount": 5,
- "active": true,
- "externalId": "string",
- "shareKeys": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Charges générales",
- "total": 10000,
- "chargeNatureId": "bcba10fb-4f9d-4d10-8294-bb345b911779",
- "distributionStrategy": 0,
- "excludedUnitTypes": [
- "string"
], - "lastModifiedAt": "2019-08-24T14:15:22Z",
- "activeVersionsCount": 0,
- "historicalVersionsCount": 0
}
], - "unitsCount": 24,
- "activeLeaseCount": 18,
- "occupiedCount": 18,
- "vacantCount": 6,
- "totalSurface": 1240.5,
- "occupancyRate": 75
}| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Résidence Les Tilleuls",
- "propertyType": "residence",
- "address": "12 rue des Lilas",
- "city": "Lyon",
- "postalCode": "69003",
- "hasElevator": true,
- "floorCount": 5,
- "active": true,
- "externalId": "string",
- "shareKeys": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Charges générales",
- "total": 10000,
- "chargeNatureId": "bcba10fb-4f9d-4d10-8294-bb345b911779",
- "distributionStrategy": 0,
- "excludedUnitTypes": [
- "string"
], - "lastModifiedAt": "2019-08-24T14:15:22Z",
- "activeVersionsCount": 0,
- "historicalVersionsCount": 0
}
], - "units": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "identifier": "A-102",
- "unitType": "apartment",
- "areaSqm": 45.5,
- "floor": 2,
- "lotNumber": "102",
- "active": true,
- "externalId": "string",
- "dateReception": "2019-08-24",
- "allocations": [
- {
- "shareKeyId": "e0c7387f-a5dd-4fbd-8652-040b03aded20",
- "shareKeyName": "Charges générales",
- "shares": 120
}
], - "description": "string",
- "owners": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "SCI Les Tilleuls",
- "shareRatio": "1/2"
}
], - "activeLease": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "BAIL-2026-014",
- "status": "active"
}, - "propertyId": "8e8b8450-dc1b-4360-8109-7067337b42cb",
- "propertyName": "Résidence Les Tilleuls",
- "ownerships": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
- "ownerName": "SCI Les Tilleuls",
- "shareNumerator": 1,
- "shareDenominator": 2,
- "shareRatio": 0.5,
- "sharePercent": 50,
- "validFrom": "2019-08-24",
- "acquisitionType": "purchase"
}
], - "ownershipHistory": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
- "ownerName": "SCI Les Tilleuls",
- "shareNumerator": 1,
- "shareDenominator": 2,
- "shareRatio": 0.5,
- "sharePercent": 50,
- "validFrom": "2019-08-24",
- "acquisitionType": "purchase",
- "validTo": "2019-08-24"
}
], - "sharesComplete": true,
- "totalSharePercent": 100,
- "leases": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "leaseUnitId": "fd3bb8c8-5e30-4d93-b19e-a00ce2605b9c",
- "reference": "BAIL-2026-014",
- "status": "active",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24"
}
], - "qrCode": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "token": "string",
- "generatedAt": "2019-08-24T14:15:22Z"
}, - "dpe": {
- "rating": "D",
- "issuedOn": "2019-08-24",
- "degraded": true,
- "daysUntilBan": 540,
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentUrl": "/documents/files/2b1c.../download",
- "documentName": "string"
}, - "cgpOverride": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "displayName": "Jean Dupont",
- "email": "string",
- "phoneNumber": "string",
- "companyName": "string",
- "validFrom": "2019-08-24"
}, - "effectiveCgp": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "displayName": "Jean Dupont",
- "companyName": "string",
- "source": "owner_referent"
}
}
], - "entrances": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Bâtiment A",
- "address": "string",
- "postalCode": "string",
- "city": "string",
- "active": true,
- "propertyId": "8e8b8450-dc1b-4360-8109-7067337b42cb",
- "unitsCount": 8,
- "patrimonyCode": "string",
- "qrCode": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "token": "string",
- "generatedAt": "2019-08-24T14:15:22Z"
}
}
], - "patrimonyCode": "string",
- "qrCode": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "token": "string",
- "generatedAt": "2019-08-24T14:15:22Z"
}
}| sort | string |
| direction | string Default: "asc" Enum: "asc" "desc" |
| per_page | integer [ 1 .. 100 ] Default: 25 |
| page | integer >= 1 Default: 1 |
object |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "identifier": "A-102",
- "unitType": "apartment",
- "areaSqm": 45.5,
- "floor": 2,
- "lotNumber": "102",
- "active": true,
- "externalId": "string",
- "dateReception": "2019-08-24",
- "allocations": [
- {
- "shareKeyId": "e0c7387f-a5dd-4fbd-8652-040b03aded20",
- "shareKeyName": "Charges générales",
- "shares": 120
}
], - "description": "string",
- "owners": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "SCI Les Tilleuls",
- "shareRatio": "1/2"
}
], - "activeLease": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "BAIL-2026-014",
- "status": "active"
}
}
]| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
| Content-Type required | string Value: "application/json" Example: application/json Type de contenu de la requête |
| property_id required | string <uuid> |
| identifier required | string |
| unit_type | string Default: "retail" Enum: "apartment" "office" "retail" "parking" "storage" |
| area_sqm | number |
| floor | string |
| description | string |
{- "property_id": "05003a8a-8f3c-454b-8884-a906ec46f5f5",
- "identifier": "Lot 12",
- "unit_type": "apartment",
- "area_sqm": 0,
- "floor": "string",
- "description": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "identifier": "A-102",
- "unitType": "apartment",
- "areaSqm": 45.5,
- "floor": 2,
- "lotNumber": "102",
- "active": true,
- "externalId": "string",
- "dateReception": "2019-08-24",
- "allocations": [
- {
- "shareKeyId": "e0c7387f-a5dd-4fbd-8652-040b03aded20",
- "shareKeyName": "Charges générales",
- "shares": 120
}
], - "description": "string",
- "owners": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "SCI Les Tilleuls",
- "shareRatio": "1/2"
}
], - "activeLease": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "BAIL-2026-014",
- "status": "active"
}
}| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "identifier": "A-102",
- "unitType": "apartment",
- "areaSqm": 45.5,
- "floor": 2,
- "lotNumber": "102",
- "active": true,
- "externalId": "string",
- "dateReception": "2019-08-24",
- "allocations": [
- {
- "shareKeyId": "e0c7387f-a5dd-4fbd-8652-040b03aded20",
- "shareKeyName": "Charges générales",
- "shares": 120
}
], - "description": "string",
- "owners": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "SCI Les Tilleuls",
- "shareRatio": "1/2"
}
], - "activeLease": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "BAIL-2026-014",
- "status": "active"
}, - "propertyId": "8e8b8450-dc1b-4360-8109-7067337b42cb",
- "propertyName": "Résidence Les Tilleuls",
- "ownerships": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
- "ownerName": "SCI Les Tilleuls",
- "shareNumerator": 1,
- "shareDenominator": 2,
- "shareRatio": 0.5,
- "sharePercent": 50,
- "validFrom": "2019-08-24",
- "acquisitionType": "purchase"
}
], - "ownershipHistory": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ownerId": "4d206909-730f-409a-88f6-dcfaa8fc28cc",
- "ownerName": "SCI Les Tilleuls",
- "shareNumerator": 1,
- "shareDenominator": 2,
- "shareRatio": 0.5,
- "sharePercent": 50,
- "validFrom": "2019-08-24",
- "acquisitionType": "purchase",
- "validTo": "2019-08-24"
}
], - "sharesComplete": true,
- "totalSharePercent": 100,
- "leases": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "leaseUnitId": "fd3bb8c8-5e30-4d93-b19e-a00ce2605b9c",
- "reference": "BAIL-2026-014",
- "status": "active",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24"
}
], - "qrCode": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "token": "string",
- "generatedAt": "2019-08-24T14:15:22Z"
}, - "dpe": {
- "rating": "D",
- "issuedOn": "2019-08-24",
- "degraded": true,
- "daysUntilBan": 540,
- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "documentUrl": "/documents/files/2b1c.../download",
- "documentName": "string"
}, - "cgpOverride": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "displayName": "Jean Dupont",
- "email": "string",
- "phoneNumber": "string",
- "companyName": "string",
- "validFrom": "2019-08-24"
}, - "effectiveCgp": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "displayName": "Jean Dupont",
- "companyName": "string",
- "source": "owner_referent"
}
}| per_page | integer [ 1 .. 100 ] Default: 25 |
| page | integer >= 1 Default: 1 |
| q | string Recherche texte libre (prénom, nom, raison sociale, SIRET) |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ownerProfileId": "c89cb221-d0cc-4aba-977c-75836e8307b5",
- "displayName": "SCI Les Tilleuls",
- "firstName": "string",
- "lastName": "string",
- "email": "contact@lestilleuls.fr",
- "phone": "string",
- "ownerType": "string",
- "companyName": "string",
- "siret": "81234567800012",
- "taxId": "string",
- "address": "string",
- "accountingCode": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
]| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
| Content-Type required | string Value: "application/json" Example: application/json Type de contenu de la requête |
| first_name required | string |
| last_name | string |
| email_address | string <email> |
| phone_number | string |
| owner_type | string Default: "individual" Enum: "individual" "company" "sci" |
| company_name | string |
| siret | string |
| address | string |
{- "first_name": "string",
- "last_name": "string",
- "email_address": "user@example.com",
- "phone_number": "string",
- "owner_type": "individual",
- "company_name": "string",
- "siret": "string",
- "address": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "ownerProfileId": "c89cb221-d0cc-4aba-977c-75836e8307b5",
- "displayName": "SCI Les Tilleuls",
- "firstName": "string",
- "lastName": "string",
- "email": "contact@lestilleuls.fr",
- "phone": "string",
- "ownerType": "string",
- "companyName": "string",
- "siret": "81234567800012",
- "taxId": "string",
- "address": "string",
- "accountingCode": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}Fiche complète du propriétaire : identité, coordonnées, comptes
bancaires, biens détenus, ownerships, mandats de gestion, redditions
(owner payments) et CGP courant. Le paramètre id est l'identifiant de
l'acteur propriétaire (le même que le champ id du payload de liste).
| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileId": "faebe71b-2bf8-4bdb-9b67-258e4d6aa00a",
- "name": "Jean Dupont",
- "firstName": "string",
- "lastName": "string",
- "contactType": "owner",
- "subType": "string",
- "email": "jean.dupont@example.fr",
- "phone": "string",
- "companyName": "string",
- "siret": "81234567800012",
- "address": "string",
- "taxId": "string",
- "bankAccounts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "label": "string",
- "iban": "string",
- "bic": "string",
- "bankName": "string",
- "isDefault": true
}
], - "ownerships": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "propertyName": "string",
- "propertyId": "8e8b8450-dc1b-4360-8109-7067337b42cb",
- "unitIdentifier": "string",
- "unitId": "b3eb5f92-604a-46b9-9881-9d84000fd7ed",
- "shareNumerator": 0,
- "shareDenominator": 0
}
], - "properties": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "propertyType": "string",
- "address": "string",
- "city": "string",
- "unitsOwned": 0
}
], - "ownerPayments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "string",
- "billingRunReference": "string",
- "periodStart": "2019-08-24",
- "periodEnd": "2019-08-24",
- "grossAmountCents": 0,
- "netAmountCents": 0,
- "status": "string",
- "executedAt": "2019-08-24T14:15:22Z"
}
], - "mandates": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "string",
- "mandateType": "string",
- "status": "string",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24"
}
], - "currentCgp": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "displayName": "string",
- "email": "string",
- "phoneNumber": "string",
- "companyName": "string",
- "activity": "string",
- "validFrom": "2019-08-24T14:15:22Z"
}, - "createdAt": "2019-08-24T14:15:22Z"
}| per_page | integer [ 1 .. 100 ] Default: 25 |
| page | integer >= 1 Default: 1 |
| q | string Recherche texte libre (prénom, nom, email) |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "tenantProfileId": "b61ec85f-4d34-4fc4-8f6b-9a17f2a589cc",
- "displayName": "Dupont Jean",
- "firstName": "string",
- "lastName": "string",
- "email": "jean.dupont@example.fr",
- "phone": "string",
- "tenantType": "string",
- "tradeName": "string",
- "siret": "81234567800012",
- "createdAt": "2019-08-24T14:15:22Z"
}
]Fiche complète du locataire : identité, coordonnées, comptes bancaires,
baux (multi-baux consolidés), appels de loyer (rent calls), paiements et
informations de facturation. Le paramètre id est l'identifiant de
l'acteur locataire (le même que le champ id du payload de liste).
| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "profileId": "faebe71b-2bf8-4bdb-9b67-258e4d6aa00a",
- "name": "Jean Dupont",
- "firstName": "string",
- "lastName": "string",
- "contactType": "tenant",
- "subType": "string",
- "email": "jean.dupont@example.fr",
- "phone": "string",
- "tradeName": "string",
- "siret": "81234567800012",
- "vatNumber": "string",
- "billingEmail": "string",
- "billingAddress": "string",
- "bankAccounts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "label": "string",
- "iban": "string",
- "bic": "string",
- "bankName": "string",
- "isDefault": true
}
], - "leases": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "string",
- "status": "string",
- "leaseType": "string",
- "startDate": "2019-08-24",
- "endDate": "2019-08-24",
- "unitIdentifier": "string",
- "propertyName": "string",
- "units": [
- {
- "identifier": "string",
- "propertyName": "string"
}
], - "securityDepositId": "46e068d7-5969-4d60-b1cd-505d8cac098a"
}
], - "rentCalls": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "string",
- "periodStart": "2019-08-24",
- "periodEnd": "2019-08-24",
- "totalAmountCents": 0,
- "rentAmountCents": 0,
- "chargesAmountCents": 0,
- "paidAmountCents": 0,
- "remainingAmountCents": 0,
- "fullyPaid": true,
- "overdue": true,
- "dueDate": "2019-08-24",
- "status": "string",
- "sentAt": "2019-08-24T14:15:22Z"
}
], - "payments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "amountCents": 0,
- "currency": "string",
- "date": "2019-08-24",
- "reference": "string",
- "status": "string",
- "leaseReference": "string",
- "leaseId": "a3abd432-1f03-4b93-888c-0da4d3703e99"
}
], - "createdAt": "2019-08-24T14:15:22Z"
}| sort | string |
| direction | string Default: "asc" Enum: "asc" "desc" |
| per_page | integer [ 1 .. 100 ] Default: 25 |
| page | integer >= 1 Default: 1 |
object |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "PAY-2026-00042",
- "amountCents": 120000,
- "currency": "EUR",
- "amount": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "paymentDate": "2019-08-24",
- "paymentMethod": "virement",
- "direction": "inflow",
- "status": "allocated",
- "leaseReference": "string",
- "leaseId": "a3abd432-1f03-4b93-888c-0da4d3703e99",
- "bankAccountId": "5b26b598-a880-4e32-8c41-126aa0206857",
- "tenantName": "string"
}
]| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "PAY-2026-00042",
- "amountCents": 120000,
- "currency": "EUR",
- "amount": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "paymentDate": "2019-08-24",
- "paymentMethod": "virement",
- "direction": "inflow",
- "status": "allocated",
- "leaseReference": "string",
- "leaseId": "a3abd432-1f03-4b93-888c-0da4d3703e99",
- "bankAccountId": "5b26b598-a880-4e32-8c41-126aa0206857",
- "tenantName": "string",
- "bankTransaction": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "label": "string",
- "amount": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "transactionDate": "2019-08-24T14:15:22Z"
}, - "allocations": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "allocatedAmountCents": 60000,
- "allocatedAmount": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "billingLineId": "0ceef661-43f6-479b-9c0b-7455570303a3",
- "billingLinePeriod": "2026-01-01 - 2026-01-31",
- "billingLineComputedAmount": 0,
- "allocationDate": "2019-08-24",
- "status": "confirmed"
}
], - "allocatedAmount": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}, - "remainingAmount": {
- "cents": 120000,
- "currency": "EUR",
- "formatted": "1 200,00 €"
}
}| sort | string |
| direction | string Default: "asc" Enum: "asc" "desc" |
| per_page | integer [ 1 .. 100 ] Default: 25 |
| page | integer >= 1 Default: 1 |
object |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "INC-2026-000421",
- "flexicielReference": "1015299",
- "title": "Écoulement continu",
- "status": "in_progress",
- "priority": "high",
- "scopeType": "Loctavia::Unit",
- "scopeId": "65fafe40-a220-4dd7-8724-4598b81c0643",
- "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
- "categoryName": "Plomberie",
- "assignedToId": "7a15e53b-1403-4928-9451-d7062c3a8737",
- "assignedToName": "string",
- "reporterId": "997c436a-2349-4904-8879-2f8ba4e8669d",
- "reporterName": "string",
- "reporterType": "string",
- "leaseId": "a3abd432-1f03-4b93-888c-0da4d3703e99",
- "room": "Salle de bain",
- "contactEmail": "string",
- "contactPhone": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "acknowledgedAt": "2019-08-24T14:15:22Z",
- "resolvedAt": "2019-08-24T14:15:22Z",
- "closedAt": "2019-08-24T14:15:22Z",
- "escalatedAt": "2019-08-24T14:15:22Z",
- "dueAt": "2019-08-24T14:15:22Z",
- "flexicielType": "string",
- "flexicielNature": "string",
- "flexicielMotif": "string",
- "aareonSyncState": "sent",
- "aareonSkipReason": "category_unmapped",
- "aareonSyncRepairable": true,
- "aareonSyncStale": true,
- "aareonPulled": true,
- "aareonFollowupsSummary": {
- "total": 0,
- "verified": 0,
- "pending": 0,
- "failed": 0,
- "status": "partial"
}
}
]| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "INC-2026-000421",
- "flexicielReference": "1015299",
- "title": "Écoulement continu",
- "status": "in_progress",
- "priority": "high",
- "scopeType": "Loctavia::Unit",
- "scopeId": "65fafe40-a220-4dd7-8724-4598b81c0643",
- "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
- "categoryName": "Plomberie",
- "assignedToId": "7a15e53b-1403-4928-9451-d7062c3a8737",
- "assignedToName": "string",
- "reporterId": "997c436a-2349-4904-8879-2f8ba4e8669d",
- "reporterName": "string",
- "reporterType": "string",
- "leaseId": "a3abd432-1f03-4b93-888c-0da4d3703e99",
- "room": "Salle de bain",
- "contactEmail": "string",
- "contactPhone": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "acknowledgedAt": "2019-08-24T14:15:22Z",
- "resolvedAt": "2019-08-24T14:15:22Z",
- "closedAt": "2019-08-24T14:15:22Z",
- "escalatedAt": "2019-08-24T14:15:22Z",
- "dueAt": "2019-08-24T14:15:22Z",
- "flexicielType": "string",
- "flexicielNature": "string",
- "flexicielMotif": "string",
- "aareonSyncState": "sent",
- "aareonSkipReason": "category_unmapped",
- "aareonSyncRepairable": true,
- "aareonSyncStale": true,
- "aareonPulled": true,
- "aareonFollowupsSummary": {
- "total": 0,
- "verified": 0,
- "pending": 0,
- "failed": 0,
- "status": "partial"
}, - "description": "string",
- "outcomeMessage": "string",
- "categoryPath": "Plomberie · Fuite · Fenêtre PVC",
- "scope": {
- "type": "Loctavia::Property",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "identifier": "string",
- "address": "string",
- "propertyId": "8e8b8450-dc1b-4360-8109-7067337b42cb",
- "propertyName": "string",
- "propertyAddress": "string",
- "patrimonyCode": "string"
}, - "leaseReference": "string",
- "routedMaintenanceContractId": "34db0560-f47f-42e6-980d-7ac62797db24",
- "routedMaintenanceContractName": "string",
- "llmAnalysis": { },
- "funnelData": { },
- "allowedTransitions": [
- "pending_info",
- "pending_intervention",
- "intervention_in_progress",
- "resolved"
], - "aareonFollowups": {
- "event": "string",
- "posted": 0,
- "errored": 0,
- "errors": [
- { }
], - "at": "2019-08-24T14:15:22Z"
}, - "aareonFollowupsFailed": true,
- "aareonFollowupSteps": [
- {
- "code": "string",
- "source": "string",
- "status": "string",
- "emittedAt": "2019-08-24T14:15:22Z",
- "verifiedAt": "2019-08-24T14:15:22Z",
- "attempts": 0,
- "error": "string"
}
], - "attachments": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "filename": "fuite-cuisine.jpg",
- "contentType": "image/jpeg",
- "byteSize": 0,
- "image": true,
- "url": "string"
}
], - "messagesCount": 0,
- "activeAssignmentsCount": 0
}Écritures comptables en partie double (immuables, correction par
extourne, cinq journaux : LOYERS, CHARGES, BANQUE, PROPRIO, OD) et
export FEC réglementaire (arrêté du 29 juillet 2013). La génération
du FEC est synchrone : le 201 du POST /fec_exports signifie que
le fichier est prêt au téléchargement.
Écritures en partie double, immuables (correction par extourne),
générées automatiquement par les quittancements, encaissements et
reversements. Cinq journaux : LOYERS, CHARGES, BANQUE, PROPRIO, OD.
Filtres fins via Ransack : q[status_eq]=posted,
q[accounting_date_gteq]=2026-01-01…
| journal | string Enum: "LOYERS" "CHARGES" "BANQUE" "PROPRIO" "OD" |
| sort | string |
| direction | string Default: "asc" Enum: "asc" "desc" |
| per_page | integer [ 1 .. 100 ] Default: 25 |
| page | integer >= 1 Default: 1 |
object |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
[- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "string",
- "journal": "LOYERS",
- "societyCode": "CABMAR",
- "entryDate": "2019-08-24T14:15:22Z",
- "accountingDate": "2019-08-24",
- "periodStart": "2019-08-24",
- "periodEnd": "2019-08-24",
- "status": "draft",
- "description": "string",
- "totalDebit": 0,
- "totalCredit": 0,
- "linesCount": 0,
- "sourceType": "string",
- "sourceId": "797f5a94-3689-4ac8-82fd-d749511ea2b2"
}
]| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "reference": "string",
- "journal": "LOYERS",
- "societyCode": "CABMAR",
- "entryDate": "2019-08-24T14:15:22Z",
- "accountingDate": "2019-08-24",
- "periodStart": "2019-08-24",
- "periodEnd": "2019-08-24",
- "status": "draft",
- "description": "string",
- "totalDebit": 0,
- "totalCredit": 0,
- "linesCount": 0,
- "sourceType": "string",
- "sourceId": "797f5a94-3689-4ac8-82fd-d749511ea2b2",
- "validatedBy": "a044084f-073a-46ff-b99b-44bfe3ae5135",
- "validatedAt": "2019-08-24T14:15:22Z",
- "reversalOfId": "91205805-6131-4e22-87c1-99e3bbb30d9b",
- "metadata": { },
- "lines": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineNumber": 0,
- "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
- "accountCode": "string",
- "accountName": "string",
- "debit": 0,
- "credit": 0,
- "label": "string",
- "entityType": "string",
- "entityId": "156e622c-6cdf-4c27-9bc9-2f2db69919f5",
- "letteringCode": "string",
- "letteringStatus": "unlettered"
}
]
}Fichier des Écritures Comptables au format réglementaire (18 colonnes,
arrêté du 29 juillet 2013). Périmètre : écritures validated + posted
de l'exercice civil. La génération est synchrone : la réponse 201
signifie que le fichier est prêt, à récupérer via
GET /fec_exports/{id}/download.
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
| Content-Type required | string Value: "application/json" Example: application/json Type de contenu de la requête |
| fiscal_year required | integer Exercice civil à exporter (ex. 2026) |
| siren | string SIREN émetteur (9 chiffres). Défaut : 000000000 |
{- "fiscal_year": 0,
- "siren": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "fiscalYear": 2026,
- "siren": "123456789",
- "filename": "123456789FEC20261231.txt",
- "entriesCount": 342,
- "linesCount": 918,
- "createdAt": "2019-08-24T14:15:22Z"
}Renvoie le fichier .txt FEC en pièce jointe (Content-Disposition: attachment, nom réglementaire <siren>FEC<AAAA1231>.txt).
| id required | string <uuid> Example: 019951a3-01b7-7eb9-88bb-f872a01ed886 Identifiant de la ressource |
| X-Mandataire-Id required | string <uuid> Identifiant UUID du mandataire (tenant) sur lequel opérer. Renvoie 403 si
l'utilisateur n'est pas membre du mandataire indiqué. Obligatoire sauf sur
GET /loctavia/api/v1/mandataires (qui sert justement à le découvrir).
Tolérances côté serveur, non recommandées pour les clients générés :
omission acceptée quand l'utilisateur n'a qu'un seul mandataire, et le
paramètre de requête |
{- "error": "bad_request",
- "message": "Paramètres de requête invalides"
}