Reports

Late fees report

Lists the late fees charged in a date range, showing for each one whether it came from the automatic late-fee rules or was added by hand, and how much of it is still outstanding. One row is one lease, with its fees nested inside.

GET
https://api.portal.magicdoor.com/company-app/reports/late-fees

Authorization

Authorizationstringrequired
Bearer token — Send your API token in the Authorization header as Bearer <token>. Requests without a valid token are rejected with 401 Unauthorized.

Query parameters

dateRange.startstring · daterequired

First day of the period. Read in the company's timezone.

example: 2026-01-01
dateRange.endstring · daterequired

Last day of the period, included in the range.

example: 2026-03-31
portfolioIdsstring[]

Narrow the report to these portfolios. Repeat the parameter once per id. An id that does not exist returns 404.

propertyIdsstring[]

Narrow the report to these properties. Repeat the parameter once per id. An id that does not exist returns 404.

ownerIdsstring[]

Narrow the report to properties these owners have a stake in. Repeat the parameter once per id. An id that does not exist returns 404.

includePaidboolean

Whether to include fees that have been paid in full.

default: false
includeManualChargesboolean

Whether to include fees a property manager added by hand, as well as the ones the late-fee rules raised.

default: false

Response

200 · The late fees, grouped by property.

groupsobject[]

One group per property.

metadataobject

Totals across every fee in the report.

401 · The access token is missing, expired, or not valid for this company.

404 · A portfolio, property or owner id in the query does not exist in the caller's company.

How scoping works

portfolioIds, propertyIds and ownerIds are all resolved down to one set of properties, and they narrow each other rather than adding up. Sending a portfolio and a property that is not in it returns nothing. Sending none of the three covers every property in the company.

`billDate` and `dueDate` are timestamps here

On the late fee rows these two come back as full timestamps in the company's timezone, not as plain dates. The lease charge endpoints return the same two values as dates.