Skip to content

Running costs

Running costs are the operating and communication costs of an apartment — electricity, internet, insurance, house cleaning — one row per cost with its rhythm. chargedTo says whether a row reduces the landlord’s payout (owner) or is absorbed by the agency (agency, shown for transparency). Categories are a configured catalogue, so grouping does not depend on spelling.

Scope read:costs.

Query parameterMeaning
unitUnit slug
chargedToowner or agency
page / pageSize1-based page, 1–200 rows (default 100); by unit, category, start date
{
"costs": [
{
"id": "01931…",
"unitSlug": "marina-loft-2br",
"unitName": "Marina Loft · 2BR",
"categoryId": "0189b…",
"category": "Electricity",
"categoryGroup": "utilities",
"label": "DEWA",
"amount": 42000,
"currency": "AED",
"recurrence": "monthly",
"monthlyEquivalent": 42000,
"startDate": "2026-01-01",
"endDate": null,
"chargedTo": "owner",
"source": "owner",
"notes": null,
"createdAt": "2026-01-03T09:00:00.000Z"
}
],
"page": 1, "pageSize": 100, "totalItems": 58, "pageCount": 1
}
FieldNotes
recurrenceone_time, monthly, quarterly, yearly; startDate is the cost date resp. the first occurrence, endDate closes a recurring row
monthlyEquivalentThe row normalised to a month (0 for one-offs)
sourceagency = office bookkeeping, owner = the landlord recorded it themselves
categoryGrouputilities, services, insurance, maintenance, fees, other

Contracts the agency pays centrally and allocates to units are not rows here; their share per unit appears on the landlord statement.

Scope read:costs. The catalogue, active and retired:

{
"categories": [
{ "id": "0189b…", "key": "electricity", "label": "Electricity", "group": "utilities", "icon": "mdi-flash", "defaultRecurrence": "monthly", "defaultChargedTo": "owner", "ownerEditable": true, "ownerVisible": true, "active": true }
]
}

ownerEditable says whether a landlord may book rows in it through their portal or the Landlord API; ownerVisible whether landlords see the category at all.