Cleaning & Maintenance — TIDY
Schedule and manage cleaning jobs, create maintenance tasks, check booking availability, and add service professionals through the TIDY API. Built for property managers, Airbnb hosts, and cleaning service coordinators.
Authentication
All requests require a Bearer token.
CODEBLOCK0
Tokens do not expire. Include Authorization: Bearer $TIDY_API_TOKEN on all requests.
Jobs (Cleaning Bookings)
Jobs represent scheduled cleaning appointments.
Service Types
| Service Type Key | Description |
|---|
| INLINECODE1 | 1-hour regular cleaning |
| INLINECODE2 |
2.5-hour regular cleaning |
|
regular_cleaning.four_hours | 4-hour regular cleaning |
|
deep_cleaning.two_and_a_half_hours | 2.5-hour deep cleaning |
|
deep_cleaning.four_hours | 4-hour deep cleaning |
|
turnover_cleaning.two_and_a_half_hours | 2.5-hour turnover cleaning |
|
turnover_cleaning.four_hours | 4-hour turnover cleaning |
Booking Statuses
INLINECODE8 → in_progress → completed or cancelled or INLINECODE12
Check Availability
Before creating a booking, check available time slots:
CODEBLOCK1
Required: address_id, service_type_key.
List all jobs
CODEBLOCK2
Get a single job
CODEBLOCK3
Response fields: id, address_id, to_do_list_id, status, price, service_type_key, service_type_name, current_start_datetime (date, time), preferred_start_datetime (date, time), start_no_earlier_than (date, time), end_no_later_than (date, time), is_partially_completed, cancelled_by, url, created_at.
Create a job
CODEBLOCK4
Required: address_id, service_type_key, start_no_earlier_than (with date and time), end_no_later_than (with date and time).
Optional: preferred_start_datetime (with date, time), to_do_list_id.
The time window (start_no_earlier_than to end_no_later_than) defines when the service provider can arrive. preferred_start_datetime is a soft preference within that window.
Date format: YYYY-MM-DD. Time format: HH:MM (24-hour).
Update a job
CODEBLOCK5
Cancel a job
CODEBLOCK6
Reschedule a job
CODEBLOCK7
Required: service_type_key, start_no_earlier_than, end_no_later_than.
Optional: preferred_start_datetime, to_do_list_id.
Tasks (Maintenance / Issue Reports)
Tasks represent maintenance issues or repair requests tied to a property.
Task Statuses
INLINECODE60 → in_progress → INLINECODE62
Task Urgency Levels
INLINECODE63 , normal, high, INLINECODE66
List tasks
CODEBLOCK8
Get a single task
CODEBLOCK9
Response fields: id, address_id, title, description, reporter_type, reporter_name, type, status, urgency, due_date, assigned_to_concierge, archived_at, created_at.
Create a task
CODEBLOCK10
Required: address_id, title, description, type.
Optional: status, urgency, due_date (YYYY-MM-DD), assigned_to_concierge (boolean — if true, TIDY will auto-handle).
Update a task
CODEBLOCK11
Delete a task
CODEBLOCK12
Service Professionals (Pros)
Add your own cleaning or maintenance professionals to the TIDY platform.
CODEBLOCK13
Required: name, email.
Optional: phone, service_types (array, default ["regular_cleaning"]).
To-Do Lists
To-do lists are cleaning checklists attached to jobs.
CODEBLOCK14
Natural Language (message-tidy)
For complex or multi-step operations, send a natural language request:
CODEBLOCK15
This is asynchronous. Poll GET /api/v2/message-tidy/{id} every 3–5 seconds until status is completed.
Example requests
- - "Schedule a 2.5 hour deep clean at address 123 for next Tuesday between 9am and 5pm"
- "Cancel booking 456"
- "Reschedule my cleaning to Friday"
- "Create a maintenance task: the dishwasher is leaking at my Beach House"
- "Show me all scheduled cleanings"
- "What time slots are available for a 4-hour cleaning at address 123?"
CLI Alternative
Install: brew install tidyapp/tap/tidy-request or npm i -g @tidydotcom/cli.
CODEBLOCK16
Error Handling
| HTTP Status | Error Type | When |
|---|
| 400 | INLINECODE100 | Missing or invalid parameters |
| 401 |
authentication_error | Bad credentials or missing token |
| 404 |
not_found_error | Resource does not exist |
| 500 |
internal_error | Server error |
清洁与维护 — TIDY
通过TIDY API安排和管理清洁任务、创建维护工单、检查预订可用性以及添加服务专业人员。专为物业经理、Airbnb房东和清洁服务协调员设计。
身份验证
所有请求都需要Bearer令牌。
bash
登录
curl -X POST https://public-api.tidy.com/api/v2/auth/login \
-H Content-Type: application/json \
-d {email:jane@example.com,password:secret123}
返回:{ token: abc123... }
export TIDY
APITOKEN=abc123...
令牌永不过期。在所有请求中包含 Authorization: Bearer $TIDYAPITOKEN。
任务(清洁预订)
任务代表已安排的清洁预约。
服务类型
| 服务类型键 | 描述 |
|---|
| regularcleaning.onehour | 1小时常规清洁 |
| regularcleaning.twoandahalf_hours |
2.5小时常规清洁 |
| regular
cleaning.fourhours | 4小时常规清洁 |
| deep
cleaning.twoand
ahalf_hours | 2.5小时深度清洁 |
| deep
cleaning.fourhours | 4小时深度清洁 |
| turnover
cleaning.twoand
ahalf_hours | 2.5小时退房清洁 |
| turnover
cleaning.fourhours | 4小时退房清洁 |
预订状态
已安排 → 进行中 → 已完成 或 已取消 或 失败
检查可用性
在创建预订前,检查可用时间段:
bash
curl -s https://public-api.tidy.com/api/v2/booking-availabilities?addressid=123&servicetypekey=regularcleaning.twoandahalfhours \
-H Authorization: Bearer $TIDYAPITOKEN
必需: addressid,servicetype_key。
列出所有任务
bash
curl -s https://public-api.tidy.com/api/v2/jobs \
-H Authorization: Bearer $TIDYAPITOKEN
按地址筛选
curl -s https://public-api.tidy.com/api/v2/jobs?address_id=123 \
-H Authorization: Bearer $TIDY
APITOKEN
按状态筛选(逗号分隔)
curl -s https://public-api.tidy.com/api/v2/jobs?status=scheduled,in_progress \
-H Authorization: Bearer $TIDY
APITOKEN
按待办清单筛选
curl -s https://public-api.tidy.com/api/v2/jobs?to
dolist_id=789 \
-H Authorization: Bearer $TIDY
APITOKEN
获取单个任务
bash
curl -s https://public-api.tidy.com/api/v2/jobs/456 \
-H Authorization: Bearer $TIDYAPITOKEN
响应字段:id,addressid,todolistid,status,price,servicetypekey,servicetypename,currentstartdatetime(date,time),preferredstartdatetime(date,time),startnoearlierthan(date,time),endnolaterthan(date,time),ispartiallycompleted,cancelledby,url,createdat。
创建任务
bash
curl -X POST https://public-api.tidy.com/api/v2/jobs \
-H Authorization: Bearer $TIDYAPITOKEN \
-H Content-Type: application/json \
-d {
address_id: 123,
servicetypekey: regularcleaning.twoandahalf_hours,
startnoearlier_than: { date: 2026-04-10, time: 09:00 },
endnolater_than: { date: 2026-04-10, time: 17:00 },
preferredstartdatetime: { date: 2026-04-10, time: 10:00 },
todolist_id: 789
}
必需: addressid,servicetypekey,startnoearlierthan(含date和time),endnolater_than(含date和time)。
可选: preferredstartdatetime(含date,time),todolist_id。
时间窗口(startnoearlierthan到endnolaterthan)定义了服务提供者可以到达的时间范围。preferredstartdatetime是该窗口内的软偏好。
日期格式:YYYY-MM-DD。时间格式:HH:MM(24小时制)。
更新任务
bash
curl -X PUT https://public-api.tidy.com/api/v2/jobs/456 \
-H Authorization: Bearer $TIDYAPITOKEN \
-H Content-Type: application/json \
-d {
todolist_id: 790,
startnoearlier_than: { date: 2026-04-11, time: 08:00 },
endnolater_than: { date: 2026-04-11, time: 14:00 }
}
取消任务
bash
curl -X POST https://public-api.tidy.com/api/v2/jobs/456/cancel \
-H Authorization: Bearer $TIDYAPITOKEN
重新安排任务
bash
curl -X POST https://public-api.tidy.com/api/v2/jobs/456/reschedule \
-H Authorization: Bearer $TIDYAPITOKEN \
-H Content-Type: application/json \
-d {
servicetypekey: regularcleaning.twoandahalf_hours,
startnoearlier_than: { date: 2026-04-15, time: 09:00 },
endnolater_than: { date: 2026-04-15, time: 17:00 },
preferredstartdatetime: { date: 2026-04-15, time: 11:00 }
}
必需: servicetypekey,startnoearlierthan,endnolaterthan。
可选: preferredstartdatetime,todolist_id。
工单(维护/问题报告)
工单代表与物业相关的维护问题或维修请求。
工单状态
已报告 → 进行中 → 已完成
工单紧急程度
低,正常,高,紧急
列出工单
bash
curl -s https://public-api.tidy.com/api/v2/tasks \
-H Authorization: Bearer $TIDYAPITOKEN
按地址、状态、类型或紧急程度筛选(逗号分隔)
curl -s https://public-api.tidy.com/api/v2/tasks?address_id=123&urgency=high \
-H Authorization: Bearer $TIDY
APITOKEN
按礼宾分配筛选
curl -s https://public-api.tidy.com/api/v2/tasks?assigned
toconcierge=true \
-H Authorization: Bearer $TIDY
APITOKEN
获取单个工单
bash
curl -s https://public-api.tidy.com/api/v2/tasks/789 \
-H Authorization: Bearer $TIDYAPITOKEN
响应字段:id,addressid,title,description,reportertype,reportername,type,status,urgency,duedate,assignedtoconcierge,archivedat,createdat。
创建工单
bash
curl -X POST https://public-api.tidy.com/api/v2/tasks \
-H Authorization: Bearer $TIDYAPITOKEN \
-H Content-Type: application/json \
-d {
address_id: 123,
title: 主卧室窗户破损,
description: 左侧窗玻璃破裂,漏风。需要更换玻璃。,
type: repair,
urgency: high,
due_date: