# POST /scheduling/bookings/:booking_id/reschedule-pending

**Resource:** [SCHEDULING](./scheduling.md)  
**MCP tool:** `mark_booking_reschedule_pending`  
**Scopes:** `scheduling:write`  
**Write operation:** yes

Mark an upcoming booking "To be rescheduled" while a new time is agreed with the booker. Frees the slot and removes the calendar event WITHOUT notifying anyone, and does NOT fire booking_cancelled (so cancel-recovery automations stay quiet); fires booking_reschedule_pending instead. The booking stays in Upcoming with status reschedule_pending until reschedule_booking picks the new time, which sends the normal invite. Refused for recurring meetings and group-session seats.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `booking_id` | path | string | yes |  |
| `reason` | body | string | no | Optional note on why, e.g. "Client travelling, confirming a new time next week". Shown on the activity and in the trigger. |
| `require_approval` | body | boolean | no | Optional. Set true to route this write into the approval queue for human review instead of executing it immediately (returns 202 + an approval_id). Works even when your key/token has permission to execute directly. |

## Request example

```bash
curl -X POST   "https://api.trustpager.com/functions/v1/api/v1/scheduling/bookings/:booking_id/reschedule-pending"   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{"reason":"...","require_approval":"..."}'
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`