Events: move

Moves an event to another calendar, i.e. changes an event's organizer. Note that only default events can be moved; outOfOffice, focusTime, workingLocation and fromGmail events cannot be moved. Try it now or see an example.


HTTP request



Parameter name Value Description
Path parameters
calendarId string Calendar identifier of the source calendar where the event currently is on.
eventId string Event identifier.
Required query parameters
destination string Calendar identifier of the target calendar where the event is to be moved to.
Optional query parameters
sendNotifications boolean Deprecated. Please use sendUpdates instead.

Whether to send notifications about the change of the event's organizer. Note that some emails might still be sent even if you set the value to false. The default is false.
sendUpdates string Guests who should receive notifications about the change of the event's organizer.

Acceptable values are:
  • "all": Notifications are sent to all guests.
  • "externalOnly": Notifications are sent to non-Google Calendar guests only.
  • "none": No notifications are sent. For calendar migration tasks, consider using the Events.import method instead.


This request requires authorization with at least one of the following scopes:


For more information, see the authentication and authorization page.

Request body

Do not supply a request body with this method.


If successful, this method returns an Events resource in the response body.


Note: The code examples available for this method do not represent all supported programming languages (see the client libraries page for a list of supported languages).


Uses the Java client library.


// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)

// Move an event to another calendar
Event updatedEvent ='primary', "eventId", "destinationCalendarId").execute();



Uses the Python client library.

# First retrieve the event from the API.
updated_event =
    calendarId='primary', eventId='eventId',

# Print the updated date.
print updated_event['updated']


Uses the PHP client library.

$result = $service->events->move('primary', 'eventId', 'destinationCalendarId');

// Print the updated date.
echo $result->getUpdated();


Uses the Ruby client library.

result = client.move_event('primary', 'eventId', 'destinationCalendarId')
print result.updated

Try it!

Use the APIs Explorer below to call this method on live data and see the response.