Documents
The paperwork of a tenure: management contract, DTCM permit, handover protocol,
insurance certificate, the statements the office filed. What you see is what
the office released to you (plus your own uploads in the portal); an
unsigned draft the office is still working on does not appear. Both endpoints
need landlord:read:documents.
GET /documents
Section titled “GET /documents”| Query parameter | Meaning |
|---|---|
unit | Unit slug — only documents filed against that apartment |
{ "documents": [ { "id": "01933…", "unitId": "0190c…", "unitName": "Marina Loft · 2BR", "title": "DTCM holiday-home permit 2026", "category": "permit", "fileName": "permit-2026.pdf", "mimeType": "application/pdf", "sizeBytes": 184320, "uploadedBy": "agency", "validUntil": "2027-03-31", "notes": null, "createdAt": "2026-04-02T08:00:00.000Z" } ]}| Field | Notes |
|---|---|
unitId | null = concerns the whole relationship, not one apartment |
category | contract, permit, statement, invoice, insurance, handover, other |
validUntil | Permits and insurance expire; the portal warns 60 days ahead — you can too |
uploadedBy | agency or owner (you, through the portal) |
GET /documents/:id/download
Section titled “GET /documents/:id/download”The file itself, as Content-Disposition: attachment. The response is marked
Cache-Control: private, no-store — a management contract does not belong in a
shared cache, and this is the one place these bytes are handed out. 404 NOT_FOUND for a document that is not yours or not released.
curl -L -o permit.pdf "https://api.myrentalcalendar.com/partner/v1/landlord/documents/01933…/download" \ -H "Authorization: Bearer $KEY"Uploading documents is a portal action, not an API one.