Private preview of the new site. Not live.

visits.answerChange

Answer a customer's request to move or cancel a visit. decline leaves the visit as it is. accept on a cancel request cancels the visit (visits.cancel); accept on a reschedule moves it to starts_at (and ends_at, or the same length as before) through visits.update. Pass apply false to mark it accepted without changing the visit (you already moved it). The customer sees the answer and your note on their hub. If a shop approval rule holds the visit change, the request stays open and the approval id comes back. Owner or office only.

WhoAgents can call this
RESTPOST /v1/visits/answerChange
MCP toolvisits_answerChange
Writesyes, send an Idempotency-Key
AreaScheduling and visits

When to use it

Give a customer one page with everything they have with the shop: hub.createLink makes a link for one customer (shown once; send it yourself, Doing Work sends nothing). On it the customer sees their quotes, jobs, invoices with what is still owed, upcoming visits and requests, opens a quote, pays an invoice, asks to move or cancel a visit, and asks for new work (it arrives as a portal request).

What to tell the owner

Say what you did in plain words and what happens next.

Input

FieldTypeRequired
change_request_idstring (uuid)yes
decisionstring (one of accept, decline)yes
notestringno
starts_atstring (date-time)no
ends_atstring (date-time)no
applybooleanno

Example

POST https://doingwork.work/v1/visits/answerChange
content-type: application/json
Idempotency-Key: 3f1c...

{
  "change_request_id": "00000000-0000-4000-8000-000000000000",
  "decision": "accept"
}

Output

JSON. The response shape isn't published yet; read the fields you need and ignore the rest. Errors are {code, message, status}.

Errors

CodeStatusWhat to do
invalid_input, invalid_token, rate_limitedCan happen on any call. See errors.