> ## Documentation Index
> Fetch the complete documentation index at: https://docs.novacal.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Reschedule Event

> Reschedule an existing Novacal event with the public API by updating the start time, end time, timezone, and allowed booking answers.

This endpoint requires a public API bearer token.

The authenticated API key identifies the caller integration. It does not replace the existing event booker.

## When to use this endpoint

Use this endpoint when an existing booking needs to move to a different time or timezone without creating a brand new event record.

## Before you reschedule

* Confirm you are targeting the correct event ID
* Submit the updated scheduling fields you want to change
* Keep in mind that the authenticated token identifies the integration, not the attendee


## OpenAPI

````yaml PUT /v1/events/{id}
openapi: 3.1.0
info:
  title: Events API
  description: Public API for managing event types
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.novacal.io
security:
  - bearerAuth: []
paths:
  /v1/events/{id}:
    put:
      description: >-
        Reschedules an existing event. This endpoint requires public API
        authentication.
      parameters:
        - name: id
          in: path
          description: ID of event to reschedule
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: Event rescheduling payload
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePublicEvent'
        required: true
      responses:
        '200':
          description: Event rescheduled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventResponse'
components:
  schemas:
    UpdatePublicEvent:
      type: object
      required:
        - start
        - end
        - timezone
        - time_format
      properties:
        start:
          description: The new event start date and time
          type: string
          format: date-time
        end:
          description: The new event end date and time
          type: string
          format: date-time
        timezone:
          description: The timezone submitted for the reschedule request
          type: string
        time_format:
          description: The preferred time format submitted for the reschedule request
          type: integer
          enum:
            - 12
            - 24
        form_field_answers:
          description: Optional updated answers for fields visible on reschedule
          type: object
          additionalProperties: true
    EventResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          description: Indicates whether the request was successful
          type: boolean
          example: true
        data:
          $ref: '#/components/schemas/Event'
    Event:
      type: object
      properties:
        id:
          description: The unique identifier of the event
          type: string
          format: uuid
        start:
          description: The start date and time of the event
          type: string
          format: date-time
        end:
          description: The end date and time of the event
          type: string
          format: date-time
        canceled_at:
          description: The date and time when the event was canceled
          type:
            - string
            - 'null'
          format: date-time
        cancellation_reason:
          description: The reason the event was canceled, if provided
          type:
            - string
            - 'null'
        location:
          description: The location of the event
          type:
            - string
            - 'null'
        form_field_answers:
          description: >-
            Booking form answers keyed by field identifier. Each value contains
            only the submitted answer.
          type: object
          additionalProperties: true
          example:
            name: John Doe
            email: john@example.com
        status:
          description: The status of the event
          type: string
        name:
          description: The name of the event
          type:
            - string
            - 'null'
        organizer:
          description: The organizer attached to the event
          oneOf:
            - $ref: '#/components/schemas/EventHost'
            - type: 'null'
        hosts:
          description: Hosts attached to the event
          type: array
          items:
            $ref: '#/components/schemas/EventHost'
        booker:
          description: The user who booked the event
          oneOf:
            - $ref: '#/components/schemas/EventBooker'
            - type: 'null'
        guests:
          description: Guest email addresses attached to the event
          type: array
          items:
            type: string
            format: email
    EventHost:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        name:
          type:
            - string
            - 'null'
        email:
          type: string
          format: email
        username:
          type:
            - string
            - 'null'
        timezone:
          type:
            - string
            - 'null'
        time_format:
          type:
            - integer
            - 'null'
          enum:
            - 12
            - 24
            - null
        start_of_week:
          type:
            - integer
            - 'null'
          enum:
            - 0
            - 1
            - null
        avatar:
          type:
            - string
            - 'null'
    EventBooker:
      type: object
      properties:
        name:
          type:
            - string
            - 'null'
        email:
          type: string
          format: email
        timezone:
          type:
            - string
            - 'null'
        time_format:
          type:
            - integer
            - 'null'
          enum:
            - 12
            - 24
            - null
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````