Calendars: update

Requires authorization

Updates metadata for a calendar. Try it now or see an example.


HTTP request

PUT https://www.googleapis.com/calendar/v3/calendars/calendarId


Parameter name Value Description
Path parameters
calendarId string Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword.


This request requires authorization with the following scope (read more about authentication and authorization).


Request body

In the request body, supply a Calendars resource with the following properties:

Property name Value Description Notes
Optional Properties
description string Description of the calendar. Optional. writable
location string Geographic location of the calendar as free-form text. Optional. writable
summary string Title of the calendar. writable
timeZone string The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional. writable


If successful, this method returns a Calendars 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.

import com.google.api.services.calendar.Calendar;

// ...

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

// Retrieve a calendar
com.google.api.services.calendar.model.Calendar calendar =

// Make a change

// Update the altered calendar
com.google.api.services.calendar.model.Calendar updatedCalendar =
    service.calendars().update(calendar.getId(), calendar).execute();



Uses the Python client library.

# First retrieve the calendar from the API.
calendar = service.calendars().get(calendarId='primary').execute()

calendar['summary'] = 'New Summary'

updated_calendar = service.calendars().update(calendarId=calendar['id'], body=calendar).execute()

print updated_calendar['etag']


Uses the PHP client library.

// First retrieve the calendar from the API.
$calendar = $service->calendars->get('primary');

$calendar->setSummary('New Summary');

$updatedCalendar = $service->calendars->update('primary', $calendar);

echo $updatedCalendar->getEtag();


Uses the Ruby client library.

result = client.execute(:api_method => service.calendars.get,
                        :parameters => {'calendarId' => 'primary'})
calendar = result.data
calendar.summary = "New Summary"
result = client.execute(:api_method => service.calendars.update,
                        :parameters => {'calendarId' => calendar.id},
                        :body_object => calendar,
                        :headers => {'Content-Type' => 'application/json'})
print result.data.etag

Try it!

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

Send feedback about...

Google Calendar API