Find local house cleaners with firm prices and open times, and book them directly.
Latchbell Local Pros and Latchbell Front Desk are one system: a booking made here appears immediately on the cleaner's Front Desk schedule and dashboard.
If you write your own client, prefer the MCP endpoint https://slotted-book.agenthippo.ai/mcp: JSON-RPC 2.0 over HTTP (initialize, tools/list, tools/call), plain JSON responses, no session or event stream. Listing tools on each call means new operations appear automatically. The REST paths below are equivalent but fixed.
https://slotted-book.agenthippo.aihttps://slotted-book.agenthippo.ai/authorize, token URL https://slotted-book.agenthippo.ai/token, dynamic client registration https://slotted-book.agenthippo.ai/register (or the public client ID slotted-public), revocation https://slotted-book.agenthippo.ai/revoke, no client secret, scopes read write. Send the access token as Authorization: Bearer <token>.Authorization header as Bearer <key>. get a personal key at https://slotted.agenthippo.ai/key and paste it.https://slotted-book.agenthippo.ai/openapi.jsonX-Client-Name: <your assistant's name> (for example Muse) so bookings show which assistant made them.GET with query parameters (lists are comma-separated); write endpoints are POST with a JSON body. Errors return {"error": "..."}.Example:
curl -H "Authorization: Bearer YOUR_KEY" "https://slotted-book.agenthippo.ai/api/v1/find_cleaners"
sk_pub_FppuCTRYuBdr3AJnRJfl5AXZddXVXwwR (send it as Authorization: Bearer sk_pub_FppuCTRYuBdr3AJnRJfl5AXZddXVXwwR; it allows only the public operations). Send the user's details as X-User-Name, X-User-Email and X-User-Phone headers on every request; operations that need contact details use them.GET /api/v1/find_cleaners (public, no sign-in): Find house cleaners who serve a ZIP code, each with a firm total price for this job and their next open start times. Prices are set by each cleaner and include everything listed; there are no added fees for the customer. "checks" lists best-effort checks Latchbell did, with dates (website ownership, a marketplace profile and its rating as shown that day). When comparing, present them as best-effort checks, never as a guarantee or endorsement. Latchbell does not check licenses or insurance; each business is independent.GET /api/v1/available_times (public, no sign-in): List open start times for one cleaner and this job over the coming days.POST /api/v1/book_cleaning (public, no sign-in): Book the cleaner for the chosen start time at the quoted firm price. No sign-in needed: the customer's name and phone or email come from the customer_* fields or the X-User-Name/X-User-Phone/X-User-Email headers. Confirm the cleaner, time, address and price with the user once; if they already said to book, book without asking again. Fill the customer's name, phone, email and address from what you already know about the user (profile, account, earlier messages); ask only for what is missing, in one message, and tell the user which details you shared. Notes and access details are optional: never hold a booking to ask for them. Keep the returned manage_token: it is the only way to check or cancel this booking later. The cleaner contacts the user about access and payment.GET /api/v1/my_bookings (public, no sign-in): List the user's cleanings booked through Latchbell, newest first. With a personal key this lists all of them; with the shared public key it lists none (use booking_status with each booking's manage_token).POST /api/v1/cancel_booking (public, no sign-in): Cancel one of the user's bookings using the manage_token returned when it was booked. Free until 24 hours before the start; closer than that, tell the user the cleaner may charge under their own policy. Confirm with the user first.GET /api/v1/booking_status (public, no sign-in): Check the status and details of a booking using the manage_token returned when it was booked.MCP clients (Claude, ChatGPT) can use https://slotted-book.agenthippo.ai/mcp instead.