Skip to content

Overview

The Cleaning API is what the cleaning portal shows a person on the phone, for software instead: the crew’s units, its jobs with windows and deadlines, the suggested route for the day, and the two buttons — start and finish. A dispatch system pulls the plan each morning and reports back as the crew works; the agency’s calendar and ops board light up exactly as if the cleaner had tapped.

A cleaning key is bound to one crew. There is no crew to select and no way to widen it, and the managing agency can see and revoke the key too.

Base URLhttps://api.myrentalcalendar.com/partner/v1/cleaning
OpenAPIGET /partner/v1/cleaning/openapi.json
AuthAuthorization: Bearer hr_live_… — a key from the cleaning portal → API access (or one the agency created for you)
Rate limit60 requests/minute per key
Monthly quotaShared with the agency’s other keys: 50,000 requests per month
Method & pathScopePurpose
GET /me—Which agency, which crew, which scopes and budget
GET /unitscleaning:read:jobsThe crew’s units — address, rooms, times
GET /jobscleaning:read:jobsJobs in a date range with progress and occupancy
GET /plancleaning:read:jobsThe day’s stops in driving order with time slots
POST /jobs/:key/startcleaning:write:reportsStart the clock
POST /jobs/:key/finishcleaning:write:reportsReport done
POST /jobs/:key/reopencleaning:write:reportsUndo a finish

By construction — the queries do not select these columns, there is nothing to redact:

  • Guest names, contacts, booking sources, notes. A stay is “4 guests until 11:00”.
  • Prices, fees, deposits, invoices.
  • Owners, contracts, permits, photos, descriptions.
  • Other crews’ jobs — except the ones the office handed to you, which are marked covered: true.

Jobs are derived, never stored. Every read computes them from the bookings: a turnover per checkout, its window running from the (late) checkout to the next (early) check-in or the block due date, capped at seven days when nobody is waiting; a mid-stay cleaning per week of a longer stay whose service includes it. A moved or cancelled stay needs no bookkeeping — the job simply changes or disappears on the next read.

Only your work leaves a trace: start and finish reports, with the minutes in between. Finishing a turnover also marks the apartment as cleaned on the agency’s calendar; finishing a mid-stay confirms that week.

Each job has a stable key — turnover:<bookingId> or midstay:<bookingId>:<date> — which is what the report routes take.

Dates are ISO YYYY-MM-DD; times are HH:MM in the agency’s local time. Errors carry a stable code and a readable title; the list is in errors & limits.