Google Calendar Settings API

The Settings API from Google Calendar — 3 operation(s) for settings.

GitHub OpenAPI

Operations 3

GET /calendar/v3/users/me/settings/{setting} Get settings #
GET /calendar/v3/users/me/settings List settings #
POST /calendar/v3/users/me/settings/watch Watch settings #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/google-calendar:google-calendar-settings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

google-calendar-settings-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Calendar API Settings API
  version: v3
  description: Generated from Google's published Discovery document for Calendar API (calendar v3, revision 20261109). 3 operation(s).
  contact:
    name: Google
    url: https://developers.google.com/
  termsOfService: https://developers.google.com/terms
externalDocs:
  url: https://developers.google.com/workspace/calendar/firstapp
servers:
- url: https://www.googleapis.com
paths:
  /calendar/v3/users/me/settings/{setting}:
    get:
      operationId: calendar.settings.get
      summary: Get settings
      description: Returns a single user setting.
      parameters:
      - name: setting
        in: path
        required: true
        description: The id of the user setting.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Setting'
        4XX:
          content: &id001
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id001
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/calendar
        - https://www.googleapis.com/auth/calendar.readonly
        - https://www.googleapis.com/auth/calendar.settings
        - https://www.googleapis.com/auth/calendar.settings.readonly
      - apiKey: []
      tags:
      - Settings
  /calendar/v3/users/me/settings:
    get:
      operationId: calendar.settings.list
      summary: List settings
      description: Returns all user settings for the authenticated user.
      parameters:
      - name: maxResults
        in: query
        required: false
        description: Maximum number of entries returned on one result page. By default the value is 100 entries. The page
          size can never be larger than 250 entries. Optional.
        schema:
          format: int32
          minimum: 1
          type: integer
      - name: pageToken
        in: query
        required: false
        description: Token specifying which result page to return. Optional.
        schema:
          type: string
      - name: syncToken
        in: query
        required: false
        description: 'Token obtained from the nextSyncToken field returned on the last page of results from the previous list
          request. It makes the result of this list request contain only entries that have changed since then.

          If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its
          storage and perform a full synchronization without any syncToken.

          Learn more about incremental synchronization.

          Optional. The default is to return all entries.'
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Settings'
        4XX:
          content: &id002
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id002
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/calendar
        - https://www.googleapis.com/auth/calendar.readonly
        - https://www.googleapis.com/auth/calendar.settings
        - https://www.googleapis.com/auth/calendar.settings.readonly
      - apiKey: []
      tags:
      - Settings
  /calendar/v3/users/me/settings/watch:
    post:
      operationId: calendar.settings.watch
      summary: Watch settings
      description: Watch for changes to Settings resources.
      parameters:
      - name: maxResults
        in: query
        required: false
        description: Maximum number of entries returned on one result page. By default the value is 100 entries. The page
          size can never be larger than 250 entries. Optional.
        schema:
          minimum: 1
          type: integer
          format: int32
      - name: pageToken
        in: query
        required: false
        description: Token specifying which result page to return. Optional.
        schema:
          type: string
      - name: syncToken
        in: query
        required: false
        description: 'Token obtained from the nextSyncToken field returned on the last page of results from the previous list
          request. It makes the result of this list request contain only entries that have changed since then.

          If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its
          storage and perform a full synchronization without any syncToken.

          Learn more about incremental synchronization.

          Optional. The default is to return all entries.'
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Channel'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Channel'
        4XX:
          content: &id003
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleRpcError'
          description: 'Client error (google.rpc.Status: INVALID_ARGUMENT, PERMISSION_DENIED, NOT_FOUND ...)'
        default:
          content: *id003
          description: Error response (google.rpc.Status)
      security:
      - oauth2:
        - https://www.googleapis.com/auth/calendar
        - https://www.googleapis.com/auth/calendar.readonly
        - https://www.googleapis.com/auth/calendar.settings
        - https://www.googleapis.com/auth/calendar.settings.readonly
      - apiKey: []
      tags:
      - Settings
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: query
      name: key
      description: API key; accepted by methods that do not need user data.
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/calendar.acls: See and change the sharing permissions of Google calendars you
              own
            https://www.googleapis.com/auth/calendar: See, edit, share, and permanently delete all the calendars you can access
              using Google Calendar
            https://www.googleapis.com/auth/calendar.app.created: Make secondary Google calendars, and see, create, change,
              and delete events on them
            https://www.googleapis.com/auth/calendar.calendarlist: See, add, and remove Google calendars you’re subscribed
              to
            https://www.googleapis.com/auth/calendar.settings: View and edit your Calendar settings
            https://www.googleapis.com/auth/calendar.freebusy: View your availability in your calendars
            https://www.googleapis.com/auth/calendar.events.owned: See, create, change, and delete events on Google calendars
              you own
            https://www.googleapis.com/auth/calendar.events.owned.readonly: See the events on Google calendars you own
            https://www.googleapis.com/auth/calendar.events: View and edit events on all your calendars
            https://www.googleapis.com/auth/calendar.calendars.readonly: See the title, description, default time zone, and
              other properties of Google calendars you have access to
            https://www.googleapis.com/auth/calendar.calendarlist.readonly: See the list of Google calendars you’re subscribed
              to
            https://www.googleapis.com/auth/calendar.acls.readonly: See the sharing permissions of Google calendars you own
            https://www.googleapis.com/auth/calendar.calendars: See and change the properties of Google calendars you have
              access to, and create secondary calendars
            https://www.googleapis.com/auth/calendar.events.public.readonly: See the events on public calendars
            https://www.googleapis.com/auth/calendar.events.freebusy: See the availability on Google calendars you have access
              to
            https://www.googleapis.com/auth/calendar.events.readonly: View events on all your calendars
            https://www.googleapis.com/auth/calendar.readonly: See and download any calendar you can access using your Google
              Calendar
            https://www.googleapis.com/auth/calendar.settings.readonly: View your Calendar settings
  schemas:
    Channel:
      properties:
        resourceUri:
          description: A version-specific identifier for the watched resource.
          type: string
        params:
          description: Additional parameters controlling delivery channel behavior. Optional.
          additionalProperties:
            type: string
            description: Declares a new parameter by name.
          type: object
        kind:
          type: string
          description: Identifies this as a notification channel used to watch for changes to a resource, which is "api#channel".
          default: api#channel
        type:
          type: string
          description: The type of delivery mechanism used for this channel. Valid values are "web_hook" (or "webhook"). Both
            values refer to a channel where Http requests are used to deliver messages.
        expiration:
          type: string
          format: int64
          description: Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
        token:
          description: An arbitrary string delivered to the target address with each notification delivered over this channel.
            Optional.
          type: string
        resourceId:
          type: string
          description: An opaque ID that identifies the resource being watched on this channel. Stable across different API
            versions.
        address:
          description: The address where notifications are delivered for this channel.
          type: string
        id:
          description: A UUID or similar unique string that identifies this channel.
          type: string
        payload:
          type: boolean
          description: A Boolean value to indicate whether payload is wanted. Optional.
      type: object
    GoogleRpcError:
      type: object
      description: The error envelope every Google API returns.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            status:
              type: string
            details:
              type: array
              items:
                type: object
    Setting:
      properties:
        kind:
          type: string
          description: Type of the resource ("calendar#setting").
          default: calendar#setting
        id:
          description: The id of the user setting.
          type: string
        value:
          type: string
          description: Value of the user setting. The format of the value depends on the ID of the setting. It must always
            be a UTF-8 string of length up to 1024 characters.
        etag:
          type: string
          description: ETag of the resource.
      type: object
    Settings:
      properties:
        etag:
          description: Etag of the collection.
          type: string
        nextPageToken:
          type: string
          description: Token used to access the next page of this result. Omitted if no further results are available, in
            which case nextSyncToken is provided.
        kind:
          description: Type of the collection ("calendar#settings").
          default: calendar#settings
          type: string
        items:
          description: List of user settings.
          items:
            $ref: '#/components/schemas/Setting'
          type: array
        nextSyncToken:
          description: Token used at a later point in time to retrieve only the entries that have changed since this result
            was returned. Omitted if further results are available, in which case nextPageToken is provided.
          type: string
      type: object
x-provenance:
  method: harvested
  publisher: Google
  source: https://calendar-json.googleapis.com/$discovery/rest?version=v3
  note: converted by discovery-to-openapi.py from Google's Discovery document (revision 20261109)