---
title: "Organizer moves a Find-a-time meeting"
method: POST
path: "/api/meetings/{id}/reschedule"
---

# Organizer moves a Find-a-time meeting

`POST /api/meetings/{id}/reschedule`

## Request

- Base URL: `https://whenmeet.me`
- URL: `https://whenmeet.me/api/meetings/{id}/reschedule`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Host-session`

Body { startsAt, endsAt? } (ms; endsAt defaults to the same duration). startsAt must be between now and 60 days ahead. PATCHes the organizer's calendar event first, then the D1 row, then emails participants an updated ICS (same UID, SEQUENCE+1).

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `startsAt` integer, required
  - `endsAt` integer

## Response `200`

{ ok: true, startsAt, endsAt, sequence } (or unchanged:true for the same time).

## Other responses

- `400`: bad_window, or window_out_of_range (past / beyond 60 days).
- `403`: Caller is not the organizer.
- `409`: meeting_cancelled, meeting_past, booking_managed, or conflict (changed concurrently).
- `502`: provider_failed or provider_disconnected.
- `503`: calendar_unavailable (a participant iCloud feed could not be read).

---

[API](https://skmtc.dev/whenmeet/apis/whenmeet-me-api.md) · [All operations](https://skmtc.dev/whenmeet/apis/whenmeet-me-api/llms.txt) · [OpenAPI document](https://skmtc.dev/whenmeet/apis/whenmeet-me-api/revisions/202b80022215?raw)
