booking

Cancel Demo Request

Cancel a booked demo and undo the booking.

booking:cancel_meeting, NOT sales:write. Frederick, 2026-08-21: "meetings can only be canceled on my or the Sales, sales manager's Today tab."

This route used to reuse sales:write on the argument that it was already "exactly who" should hold it. What unmakes that is that sales:write does not MEAN this: it is CRM access, held by an account manager and by a VP of Government Sales for unrelated reasons, so gating a meeting on it hands cancellation to whoever was given the CRM for some other purpose.

(An earlier version of this docstring said Keith held no sales:write at all. That was read off function_grants alone and was wrong -- his Sales Manager role carries it. Permissions arrive by two independent paths here, and reading one of them gives a confident wrong answer. Migration 0231 keeps the correction.)

Migration 0231 seeds the new key to Frederick, the Sales Manager role, and whoever holds sales:owns_leads.

NOT gated on owning the booking. A spam booking is nobody's, and a demo landing on a salesperson's calendar while they are on a plane is precisely when a colleague needs to be able to kill it.

The response reports each step separately rather than a single "ok", because a vendor is allowed to refuse without vetoing the cancellation -- see cancellation.py. calendar_cancelled: false means the invite may still be in somebody's calendar and a person needs to know that, not be told the word "cancelled" and left to find out.

post/api/booking/demo-requests/{demo_request_id}/cancel

Request

  • Base URL: https://api.pigeonly.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.pigeonly.com/api/booking/demo-requests/{demo_request_id}/cancel
  • Auth: none declared

Path parameters

demo_request_idstring uuid required

Request body

reasonstring nullable
remove_created_recordsboolean

Response

Successful Response

object required

Changes

No recorded changes to this operation across all 1 revision of this API.