Lease documents

Create a lease document

Creates a lease document from saved lease templates, from a file you have already uploaded, or from both. The uploadSessionId comes from the create-upload-session endpoint; this call does not receive the file.

POST
https://api.portal.magicdoor.com/company-app/lease-documents

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.

Body

application/json

leaseIdstringrequired

The lease the document belongs to. A Snowflake id, sent as a decimal string.

namestringrequired

Name for the document. 1 to 150 characters.

leaseTemplateIdsstring[]

Lease templates to build the document from. At least one when given.

uploadSessionIdstring

An upload session holding a PDF to use instead of, or alongside, the templates. A Snowflake id, sent as a decimal string.

Response

200 · The document that was created.

idstring

Id of the lease document. A Snowflake id, sent as a decimal string.

portfolioIdstring

Portfolio the lease rolls up to. A Snowflake id, sent as a decimal string.

propertyIdstring

Property the lease is on. A Snowflake id, sent as a decimal string.

unitIdstring

Unit the lease is on. A Snowflake id, sent as a decimal string.

leaseIdstring

The lease the document belongs to. A Snowflake id, sent as a decimal string.

leaseTemplateIdsstring[]

The lease templates the document was built from.

fileIdstring

The stored PDF. A Snowflake id, sent as a decimal string.

namestring

Name of the document.

statusenum<string>

Where the document stands: draft while it is being prepared, pendingSignatures once it has gone out, completed once everyone has signed, retracted if it was pulled back.

draftpendingSignaturescompletedretracted
typeenum<string>

Whether this is a lease document or a lease renewal document.

leaseleaseRenewal
signersLeaseDocumentSigner[]

Who has to sign, and how far each of them has got.

annotationsLeaseDocumentAnnotation[]

The boxes placed on the PDF — signatures, initials, dates and filled-in values.

fileobject

The stored PDF, resolved to a full file record.

400 · The request failed validation. `errors` maps each field name to what was wrong with it.

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

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

The signing flow

A lease document starts as a draft. Place the signature and text boxes on it with the update endpoint, then call begin-signing to send it out, which moves it to pendingSignatures. Once every signer has signed it becomes completed. Retracting pulls it back out of signing.