Lease renewals

Create and apply a renewal in one call

Creates a renewal offer and applies it to the lease straight away, without waiting for a tenant to accept. Use it when the renewal is already agreed; use the plain create endpoint when the tenant still has to answer.

POST
https://api.portal.magicdoor.com/company-app/leases/{leaseId}/renewals/apply

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.

Path parameters

leaseIdstringrequired

The lease to renew. A Snowflake id, sent as a decimal string.

example: 1830472847398404096

Body

application/json

recurringChargeChangesobject[]required

Changes to the lease's existing recurring charges. Send an empty array to leave them alone.

newEndDatestring · date

The end date the lease should get. Leave it out to renew onto month to month.

newRecurringChargesobject[]

Recurring charges to add when the renewal is applied.

customLeaseTextstring

Extra wording for the renewal document. Up to 500 characters.

offerExpiresstring · date-time

When the offer stops being open to the tenant.

requiresSigningboolean

Whether the tenant has to sign a document before the renewal can be applied.

templatesobject[]

Templates to build the renewal document from.

Response

200 · The offer, now applied to the lease.

idstring

Id of the renewal offer. A Snowflake id, sent as a decimal string.

statusenum<string>

Where the offer stands: offered while the tenant has not answered, signing once the document has gone out for signature, finalized once it has been applied to the lease, rejected if the tenant turned it down, retracted if it was pulled.

offeredsigningfinalizedrejectedretracted
requiresSigningboolean

Whether the tenant has to sign a document before the offer can be applied.

recurringChargeChangesRecurringChargeChange[]

Changes to the lease's existing recurring charges. One entry per charge you are changing.

newRecurringChargesNewRecurringCharge[]

Recurring charges to add when the renewal is applied.

newEndDatestring · date

The end date the lease would get. Absent means the renewal makes the lease month to month.

customLeaseTextstring

Extra wording to put on the renewal document. Up to 500 characters.

leaseDocumentIdstring

The renewal document created for signing. A Snowflake id, sent as a decimal string.

finalizedboolean

Whether the offer has been applied to the lease.

offerExpiresstring · date

The date the offer stops being open to the tenant.

currentChargesRecurringLeaseCharge[]

The lease's recurring charges as they stand today, so the offer can be shown against them.

templatesTemplateRef[]

Templates to build the renewal document from.

chartOfAccountsChartOfAccount[]

Chart-of-account records referenced above.

400 · The body failed validation, or the new end date is not after the lease's current end date.

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

404 · No lease matched the id, or it belongs to another company.