Skip to content
Smartlife Docs
FR
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: 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).
GET /api/project/{id}/data request and example JSON response
Request and response of the project/{id}/data endpoint.

Test this endpoint

Enter the project ID, then run the call with your token (sidebar).



Link copied!