Navigation

Reschedule Event

Move an event to a new date and time with automatic notifications

POST /public/calendar/processReschedule

Reschedules an existing calendar event to a new date and time. The new time is provided in the `target_timezone` and converted to UTC for storage. Zyntro regenerates iCal files for all attendees and sends reschedule notification emails with the updated time (in each attendee's timezone), reschedule and cancel links, and the optional reschedule reason.

Requires `user_id` (your Zyntro user ID) in the JSON request body

Warning: This endpoint uses `user_id` (your numeric Zyntro user ID) for authentication — not `api_key`. This is consistent with the cancel endpoint and the public booking UI.

Parameters

Name In Type Required Description
user_id body string Yes Your Zyntro user ID (numeric)
event_id body string Yes The UUID of the event to reschedule
new_date body string Yes New date in `YYYY-MM-DD` format
new_time body string Yes New start time in `HH:MM` or `HH:MM:SS` format
target_timezone body string Yes IANA timezone that the new_date and new_time are expressed in. Zyntro converts to UTC for storage.
duration_minutes body integer No Event duration in minutes. Default: `30`. The new end time is calculated from the new start time + duration.
reschedule_reason body string No Reason for rescheduling. Appended to the event description and included in notification emails.

Request Body

Content-Type: application/json

Example

json
{
    "user_id": "32",
    "event_id": "e7f8a9b0-c1d2-3456-e7f8-a9b0c1d23456",
    "new_date": "2026-04-10",
    "new_time": "14:00",
    "target_timezone": "America/New_York",
    "duration_minutes": 30,
    "reschedule_reason": "Conflict with another meeting."
}

Code Samples

bash
curl -X POST https://app.zyntrohq.com/public/calendar/processReschedule \
  -H "Content-Type: application/json" \
  -d '{"user_id": "32", "event_id": "e7f8a9b0-c1d2-3456-e7f8-a9b0c1d23456", "new_date": "2026-04-10", "new_time": "14:00", "target_timezone": "America/New_York", "duration_minutes": 30}'

Response

200 Event rescheduled
json
{
    "data": {
        "event_id": "e7f8a9b0-c1d2-3456-e7f8-a9b0c1d23456",
        "new_end_time": "2026-04-10 18:30:00",
        "new_start_time": "2026-04-10 18:00:00",
        "notifications_sent": 3
    },
    "status": "success"
}
200 Error
json
{
    "data": [
        "Event not found"
    ],
    "status": "error"
}
Info: The `new_start_time` and `new_end_time` in the response are in **UTC** (as stored in the database). The notification emails sent to attendees show the time in each attendee's own timezone. iCal files are regenerated with the updated times and attached to the notification emails.
Tip: The event status is set to `rescheduled` after this call. Notification emails include both a **Reschedule Again** link and a **Cancel Event** link, allowing attendees to take further action without contacting you directly.

Errors

Code Message Resolution
MISSING_USER_ID Missing service instance
The user_id is missing.
Include your user ID.
MISSING_EVENT_ID Missing event ID
The event_id is missing.
Include the event UUID.
MISSING_DATE Missing new date
The new_date is missing.
Provide the new date in YYYY-MM-DD format.
MISSING_TIME Missing new time
The new_time is missing.
Provide the new time in HH:MM format.
MISSING_TZ Missing timezone
The target_timezone is missing.
Provide an IANA timezone (e.g., America/New_York).
NOT_FOUND Event not found
No event with that ID exists.
Verify the event_id.
UPDATE_FAILED Failed to update event
Database update failed.
Retry the request.

Was this article helpful?

NotebookLM Overviews