Google Calendar Calendars API

The Calendars API from Google Calendar — 6 operation(s) for calendars.

OpenAPI Specification

google-calendar-calendars-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Calendar Calendars API
  description: The Google Calendar API provides RESTful access to Google Calendar data. It enables managing calendars, events, access control lists, settings, and free/busy information.
  version: v3
  contact:
    name: Google
    url: https://developers.google.com/workspace/calendar/api/guides/overview
servers:
- url: https://www.googleapis.com/calendar/v3
tags:
- name: Calendars
paths:
  /calendars:
    post:
      operationId: createCalendar
      summary: Google Calendar Create calendar
      description: Creates a secondary calendar.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Calendar'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Calendar'
      tags:
      - Calendars
  /calendars/{calendarId}:
    get:
      operationId: getCalendar
      summary: Google Calendar Get calendar
      description: Returns metadata for a calendar.
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Calendar'
      tags:
      - Calendars
    put:
      operationId: updateCalendar
      summary: Google Calendar Update calendar
      description: Updates metadata for a calendar.
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Calendar'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Calendar'
      tags:
      - Calendars
    delete:
      operationId: deleteCalendar
      summary: Google Calendar Delete calendar
      description: Deletes a secondary calendar.
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Successful deletion
      tags:
      - Calendars
  /calendars/{calendarId}/events:
    get:
      operationId: listEvents
      summary: Google Calendar List events
      description: Returns events on the specified calendar.
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: string
      - name: maxResults
        in: query
        schema:
          type: integer
      - name: pageToken
        in: query
        schema:
          type: string
      - name: timeMin
        in: query
        schema:
          type: string
          format: date-time
      - name: timeMax
        in: query
        schema:
          type: string
          format: date-time
      - name: q
        in: query
        schema:
          type: string
      - name: singleEvents
        in: query
        schema:
          type: boolean
      - name: orderBy
        in: query
        schema:
          type: string
          enum:
          - startTime
          - updated
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Events'
      tags:
      - Calendars
    post:
      operationId: createEvent
      summary: Google Calendar Create event
      description: Creates an event.
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Event'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
      tags:
      - Calendars
  /calendars/{calendarId}/events/{eventId}:
    get:
      operationId: getEvent
      summary: Google Calendar Get event
      description: Returns an event.
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: string
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
      tags:
      - Calendars
    put:
      operationId: updateEvent
      summary: Google Calendar Update event
      description: Updates an event.
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: string
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Event'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
      tags:
      - Calendars
    patch:
      operationId: patchEvent
      summary: Google Calendar Patch event
      description: Updates an event with patch semantics.
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: string
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Event'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
      tags:
      - Calendars
    delete:
      operationId: deleteEvent
      summary: Google Calendar Delete event
      description: Deletes an event.
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: string
      - name: eventId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Successful deletion
      tags:
      - Calendars
  /calendars/{calendarId}/events/quickAdd:
    post:
      operationId: quickAddEvent
      summary: Google Calendar Quick add event
      description: Creates an event based on a simple text string.
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: string
      - name: text
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
      tags:
      - Calendars
  /calendars/{calendarId}/acl:
    get:
      operationId: listAcl
      summary: Google Calendar List ACL rules
      description: Returns the rules in the access control list for the calendar.
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Acl'
      tags:
      - Calendars
    post:
      operationId: insertAcl
      summary: Google Calendar Insert ACL rule
      description: Creates an access control rule.
      parameters:
      - name: calendarId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AclRule'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AclRule'
      tags:
      - Calendars
components:
  schemas:
    EventDateTime:
      type: object
      properties:
        date:
          type: string
          format: date
        dateTime:
          type: string
          format: date-time
        timeZone:
          type: string
    EventAttendee:
      type: object
      properties:
        email:
          type: string
        displayName:
          type: string
        responseStatus:
          type: string
          enum:
          - needsAction
          - declined
          - tentative
          - accepted
        optional:
          type: boolean
    Calendar:
      type: object
      properties:
        kind:
          type: string
        etag:
          type: string
        id:
          type: string
        summary:
          type: string
        description:
          type: string
        location:
          type: string
        timeZone:
          type: string
    Acl:
      type: object
      properties:
        kind:
          type: string
        etag:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/AclRule'
    Events:
      type: object
      properties:
        kind:
          type: string
        etag:
          type: string
        summary:
          type: string
        nextPageToken:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/Event'
    Event:
      type: object
      properties:
        kind:
          type: string
        etag:
          type: string
        id:
          type: string
        status:
          type: string
        htmlLink:
          type: string
        created:
          type: string
          format: date-time
        updated:
          type: string
          format: date-time
        summary:
          type: string
        description:
          type: string
        location:
          type: string
        start:
          $ref: '#/components/schemas/EventDateTime'
        end:
          $ref: '#/components/schemas/EventDateTime'
        attendees:
          type: array
          items:
            $ref: '#/components/schemas/EventAttendee'
        recurrence:
          type: array
          items:
            type: string
    AclRule:
      type: object
      properties:
        kind:
          type: string
        etag:
          type: string
        id:
          type: string
        role:
          type: string
          enum:
          - none
          - freeBusyReader
          - reader
          - writer
          - owner
        scope:
          type: object
          properties:
            type:
              type: string
            value:
              type: string