Read your portfolio programmatically: properties, units, tenants, leases and receivables. The same data your team sees in the app, scoped exactly the same way.
Keys permit GET requests only; anything that writes is refused with a 403. A leaked key must not be able to alter a rent ledger.
Inside the app: Settings → Developers → New key. The key is shown once, at creation. We store its hash, never the key itself, so if it is lost you create another and revoke the old one.
Base URL: https://api.jabriya.app · Authenticate with an Authorization header.
| Endpoint | Returns |
|---|---|
| GET/buildings | Properties, with area, classification and status. |
| GET/buildings/:id | One property in full, including its floors and units. |
| GET/units?status=VACANT | Units, filterable by status, type or search term. |
| GET/tenants | Tenants, paginated. |
| GET/contracts?status=ACTIVE | Leases, paginated and filterable. |
| GET/receivables?tenantId=… | Rent dues for a tenant, contract or unit. |
| GET/dashboard/summary | The headline figures behind the dashboard. |
Amounts are in KWD to three decimals. Dates are ISO 8601. Paginated lists accept page and limit and return { items, total }.
The MCP endpoint lets an AI assistant read your portfolio in plain language: how many units are vacant, who is behind on rent, which leases expire this quarter. It works with any MCP client that speaks streamable HTTP, using the same key.
portfolio_summarylist_propertieslist_overduelist_expiring_contractslist_vacant_units| 401 | The key is unknown or revoked. |
| 403 API_KEY_READ_ONLY | A write attempted with a key. Keys read only. |
| 403 FEATURE_NOT_IN_PLAN | The current plan does not include programmatic access. |
| 404 | The record does not exist, or is not in your organisation. |
We do not distinguish between a record that does not exist and one belonging to another organisation. Both are 404, because telling them apart would reveal the existence of data that is not yours.
Programmatic access is part of the Enterprise plan. Talk to us to turn it on.