Stored only in this browser (never sent to this server) and reused on every “Test this endpoint” page below.
Scopes granted to this token (see the response received during authentication):
The “Test” buttons below stay disabled until the scope required by the endpoint is ticked here.
GET /api/project/{project_id}/data
Required scopes:
Unlike
If the project does not exist:
Request and response of the project/{id}/data endpoint.
project:read and rental:read.Unlike
/projects/list and /rentals/summary (which go through every project accessible to the token), this endpoint targets a single project and combines in one call: its general status, its aggregated rental indicators (contracts, occupancy, unit by unit) and the token's effective rights on this project.If the project does not exist:
404. If the project is outside the token's scope: 403 (see Common errors).curl https://construction.my-smartlife.fr/api/project/12/data \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN'Example response:{
"project": {
"id": "12",
"name": "Résidence Les Palmiers",
"status": { "label": "en_cours", "legacy_value": 40 },
"start_date": "2024-01-01",
"city": "Abidjan",
"country": 1,
"currency": "XOF",
"progress": { "current": ["6"], "completed": ["3"], "disabled": ["9", "12"] }
},
"rental": {
"global": {
"contracts": 8, "active_contracts": 6,
"rent_expected": 4860000.0, "rent_paid": 405000.0,
"charges_expected": 120000.0, "charges_paid": 10000.0,
"lots": 10, "occupied_lots": 6, "available_lots": 4
},
"monthly": {
"2025-01": { "contracts": 6, "rent_expected": 405000.0, "rent_paid": 405000.0 }
},
"lots": [
{
"architecture_id": "0", "lot_id": "3", "title": "Appartement B3",
"floor": "2", "current_type": "long_terme", "public": true,
"capacity": 1, "occupancy_status": "occupe",
"global": { "contracts": 1, "active_contracts": 1, "rent_expected": 810000.0, "rent_paid": 67500.0 },
"monthly": { "2025-01": { "contracts": 1, "rent_expected": 67500.0, "rent_paid": 67500.0 } }
}
]
},
"rights": {
"read": { "project": true, "rental": true },
"write": { "project": false },
"scopes": ["project:read", "rental:read"]
}
}The occupancy_status of a unit is disponible (available, no active contract), occupe (occupied, capacity reached) or partiellement_occupe (partly occupied).Test this endpoint
Enter the project ID, then run the call with your token (sidebar).