Get a lease
Fetches one lease with its unit, property and tenants filled in, including the derived status that tells you whether it is a draft, live, expired, in eviction, or ended.
Authorization
AuthorizationstringrequiredPath parameters
leaseIdstringrequiredThe lease to fetch. A Snowflake id, sent as a decimal string.
Response
200 · The lease.
idstringId of the lease. A Snowflake id, sent as a decimal string.
portfolioIdstringPortfolio the lease rolls up to. A Snowflake id, sent as a decimal string.
propertyIdstringProperty the lease's unit sits in. A Snowflake id, sent as a decimal string.
unitIdstringUnit the lease is for. A Snowflake id, sent as a decimal string.
startstring · dateFirst day of the lease term.
endstring · dateLast day of the fixed term. Absent on an open-ended month-to-month lease.
endedbooleanWhether the lease has been ended. A lease whose end date has passed is expired, not ended; expiry never ends a lease by itself.
monthToMonthbooleanWhether the lease continues month to month once the fixed term runs out.
evictionbooleanWhether the lease is flagged as being in eviction.
chatIdstringChat thread for the lease. A Snowflake id, sent as a decimal string.
balancenumberWhat the tenants owe right now, counting payments that have not settled yet. A decimal amount, not cents.
postedBalancenumberWhat the tenants owe counting only settled money.
currentRentnumberCurrent recurring rent, as a decimal amount.
securityDepositPaidnumberHow much security deposit has been paid.
securityDepositRequestednumberHow much security deposit was asked for.
securityDepositDuenumbersecurityDepositRequested minus securityDepositPaid.
lastPaymentDatestring · dateDate of the most recent payment. Absent when nothing has been paid.
earliestUnpaidBillDueDatestring · dateDue date of the oldest charge still owing. Absent when nothing is owed.
pastDueDaysintegerDays since earliestUnpaidBillDueDate. Absent unless the balance is positive and that date is in the past.
iconsstring[]Icon keys the portal shows against the lease.
moveOutDatestring · dateAgreed move-out date, when one has been set.
draftbooleanWhether the lease is still a draft and has not been activated.
statusenum<string>The lease's state, worked out from the flags and dates above. draft before activation; future when the start date has not arrived; lease during a fixed term; leaseMonthToMonth during a fixed term that rolls over afterwards; monthToMonth once it has rolled over or when there is no end date; expired when a fixed term ended and does not roll over, in which case the lease is still live and still accrues charges; eviction while the eviction flag is set; ended once the lease has actually been ended.
expiringStatusenum<string>How close the end date is: immediate within two weeks, imminent within a month, soon within two months, otherwise none. Always none for draft, ended, month-to-month, and open-ended leases.
tenantsHydratedLeaseTenant[]Tenants on the lease, each with the full tenant record.
unitobjectThe unit the lease is for.
propertyobjectThe property the lease's unit sits in.
customFieldValuesCustomFieldValue[]Values of the company's custom fields for this lease. Absent when the endpoint does not load them.
401 · The access token is missing, expired, or not for this company.
404 · No lease matched the id, or it belongs to another company.
A lease is a draft until it is activated, future before its start date, and a live lease after that. When a fixed term runs past its end date the lease becomes expired, which in MagicDoor is a normal ongoing state — rent keeps being charged and nothing about the lease is cancelled. Expiry never turns into ending. A lease only becomes ended when someone ends it, and eviction is a separate flag that can be set while the lease is live.