Calendar API
  1. events
Calendar API
  • calendars
    • /calendars
      POST
    • /calendars/{calendarId}
      DELETE
    • /calendars/{calendarId}
      GET
    • /calendars/{calendarId}
      PATCH
    • /calendars/{calendarId}
      PUT
    • /calendars/{calendarId}/clear
      POST
  • acl
    • /calendars/{calendarId}/acl
      GET
    • /calendars/{calendarId}/acl
      POST
    • /calendars/{calendarId}/acl/watch
      POST
    • /calendars/{calendarId}/acl/{ruleId}
      DELETE
    • /calendars/{calendarId}/acl/{ruleId}
      GET
    • /calendars/{calendarId}/acl/{ruleId}
      PATCH
    • /calendars/{calendarId}/acl/{ruleId}
      PUT
  • events
    • /calendars/{calendarId}/events
      GET
    • /calendars/{calendarId}/events
      POST
    • /calendars/{calendarId}/events/import
      POST
    • /calendars/{calendarId}/events/quickAdd
      POST
    • /calendars/{calendarId}/events/watch
      POST
    • /calendars/{calendarId}/events/{eventId}
      DELETE
    • /calendars/{calendarId}/events/{eventId}
      GET
    • /calendars/{calendarId}/events/{eventId}
      PATCH
    • /calendars/{calendarId}/events/{eventId}
      PUT
    • /calendars/{calendarId}/events/{eventId}/instances
      GET
    • /calendars/{calendarId}/events/{eventId}/move
      POST
  • channels
    • /channels/stop
      POST
  • colors
    • /colors
  • freebusy
    • /freeBusy
  • calendarList
    • /users/me/calendarList
    • /users/me/calendarList
    • /users/me/calendarList/watch
    • /users/me/calendarList/{calendarId}
    • /users/me/calendarList/{calendarId}
    • /users/me/calendarList/{calendarId}
    • /users/me/calendarList/{calendarId}
  • settings
    • /users/me/settings
    • /users/me/settings/watch
    • /users/me/settings/{setting}
  1. events

/calendars/{calendarId}/events/quickAdd

POST
/calendars/{calendarId}/events/quickAdd
events
Creates an event based on a simple text string.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://www.googleapis.com/calendar/v3/calendars//events/quickAdd?text='
Response Response Example
{
  "anyoneCanAddSelf": false,
  "attachments": [
    {
      "fileId": "string",
      "fileUrl": "string",
      "iconLink": "string",
      "mimeType": "string",
      "title": "string"
    }
  ],
  "attendees": [
    {
      "additionalGuests": 0,
      "comment": "string",
      "displayName": "string",
      "email": "string",
      "id": "string",
      "optional": false,
      "organizer": true,
      "resource": false,
      "responseStatus": "string",
      "self": false
    }
  ],
  "attendeesOmitted": false,
  "colorId": "string",
  "conferenceData": {
    "conferenceId": "string",
    "conferenceSolution": {
      "iconUri": "string",
      "key": {
        "type": "string"
      },
      "name": "string"
    },
    "createRequest": {
      "conferenceSolutionKey": {
        "type": "string"
      },
      "requestId": "string",
      "status": {
        "statusCode": "string"
      }
    },
    "entryPoints": [
      {
        "accessCode": "string",
        "entryPointFeatures": [
          "string"
        ],
        "entryPointType": "string",
        "label": "string",
        "meetingCode": "string",
        "passcode": "string",
        "password": "string",
        "pin": "string",
        "regionCode": "string",
        "uri": "string"
      }
    ],
    "notes": "string",
    "parameters": {
      "addOnParameters": {
        "parameters": {
          "property1": "string",
          "property2": "string"
        }
      }
    },
    "signature": "string"
  },
  "created": "2019-08-24T14:15:22Z",
  "creator": {
    "displayName": "string",
    "email": "string",
    "id": "string",
    "self": false
  },
  "description": "string",
  "end": {
    "date": "2019-08-24",
    "dateTime": "2019-08-24T14:15:22Z",
    "timeZone": "string"
  },
  "endTimeUnspecified": false,
  "etag": "string",
  "eventType": "default",
  "extendedProperties": {
    "private": {
      "property1": "string",
      "property2": "string"
    },
    "shared": {
      "property1": "string",
      "property2": "string"
    }
  },
  "gadget": {
    "display": "string",
    "height": 0,
    "iconLink": "string",
    "link": "string",
    "preferences": {
      "property1": "string",
      "property2": "string"
    },
    "title": "string",
    "type": "string",
    "width": 0
  },
  "guestsCanInviteOthers": true,
  "guestsCanModify": false,
  "guestsCanSeeOtherGuests": true,
  "hangoutLink": "string",
  "htmlLink": "string",
  "iCalUID": "string",
  "id": "string",
  "kind": "calendar#event",
  "location": "string",
  "locked": false,
  "organizer": {
    "displayName": "string",
    "email": "string",
    "id": "string",
    "self": false
  },
  "originalStartTime": {
    "date": "2019-08-24",
    "dateTime": "2019-08-24T14:15:22Z",
    "timeZone": "string"
  },
  "privateCopy": false,
  "recurrence": [
    "string"
  ],
  "recurringEventId": "string",
  "reminders": {
    "overrides": [
      {
        "method": "string",
        "minutes": 0
      }
    ],
    "useDefault": true
  },
  "sequence": 0,
  "source": {
    "title": "string",
    "url": "string"
  },
  "start": {
    "date": "2019-08-24",
    "dateTime": "2019-08-24T14:15:22Z",
    "timeZone": "string"
  },
  "status": "string",
  "summary": "string",
  "transparency": "opaque",
  "updated": "2019-08-24T14:15:22Z",
  "visibility": "default",
  "workingLocationProperties": {
    "customLocation": {
      "label": "string"
    },
    "homeOffice": null,
    "officeLocation": {
      "buildingId": "string",
      "deskId": "string",
      "floorId": "string",
      "floorSectionId": "string",
      "label": "string"
    }
  }
}

Request

Path Params
calendarId
string 
required
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.
Query Params
text
string 
required
The text describing the event to be created.
sendNotifications
string 
optional
Deprecated. Please use sendUpdates instead.
Whether to send notifications about the creation of the event. Note that some emails might still be sent even if you set the value to false. The default is false.
sendUpdates
string 
optional
Guests who should receive notifications about the creation of the new event.

Responses

🟢200Successful response
application/json
Body
anyoneCanAddSelf
boolean 
optional
Whether anyone can invite themselves to the event (deprecated). Optional. The default is False.
Default:
false
attachments
array[object (EventAttachment) {5}] 
optional
File attachments for the event.
In order to modify attachments the supportsAttachments request parameter should be set to true.
There can be at most 25 attachments per event,
fileId
string 
optional
ID of the attached file. Read-only.
For Google Drive files, this is the ID of the corresponding Files resource entry in the Drive API.
fileUrl
string 
optional
URL link to the attachment.
For adding Google Drive file attachments use the same format as in alternateLink property of the Files resource in the Drive API.
Required when adding an attachment.
iconLink
string 
optional
URL link to the attachment's icon. This field can only be modified for custom third-party attachments.
mimeType
string 
optional
Internet media type (MIME type) of the attachment.
title
string 
optional
Attachment title.
attendees
array[object (EventAttendee) {10}] 
optional
The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list.
additionalGuests
integer <int32>
optional
Number of additional guests. Optional. The default is 0.
Default:
0
comment
string 
optional
The attendee's response comment. Optional.
displayName
string 
optional
The attendee's name, if available. Optional.
email
string 
optional
The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322.
Required when adding an attendee.
id
string 
optional
The attendee's Profile ID, if available.
optional
boolean 
optional
Whether this is an optional attendee. Optional. The default is False.
Default:
false
organizer
boolean 
optional
Whether the attendee is the organizer of the event. Read-only. The default is False.
resource
boolean 
optional
Whether the attendee is a resource. Can only be set when the attendee is added to the event for the first time. Subsequent modifications are ignored. Optional. The default is False.
Default:
false
responseStatus
string 
optional
The attendee's response status. Possible values are:
"needsAction" - The attendee has not responded to the invitation (recommended for new events).
"declined" - The attendee has declined the invitation.
"tentative" - The attendee has tentatively accepted the invitation.
"accepted" - The attendee has accepted the invitation. Warning: If you add an event using the values declined, tentative, or accepted, attendees with the "Add invitations to my calendar" setting set to "When I respond to invitation in email" won't see an event on their calendar unless they choose to change their invitation response in the event invitation email.
self
boolean 
optional
Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False.
Default:
false
attendeesOmitted
boolean 
optional
Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.
Default:
false
colorId
string 
optional
The color of the event. This is an ID referring to an entry in the event section of the colors definition (see the colors endpoint). Optional.
conferenceData
object (ConferenceData) 
optional
The conference-related information, such as details of a Google Meet conference. To create new conference details use the createRequest field. To persist your changes, remember to set the conferenceDataVersion request parameter to 1 for all event modification requests.
conferenceId
string 
optional
The ID of the conference.
Can be used by developers to keep track of conferences, should not be displayed to users.
The ID value is formed differently for each conference solution type:
eventHangout: ID is not set. (This conference type is deprecated.)
eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.)
hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc.
addOn: ID is defined by the third-party provider. Optional.
conferenceSolution
object (ConferenceSolution) 
optional
The conference solution, such as Google Meet.
Unset for a conference with a failed create request.
Either conferenceSolution and at least one entryPoint, or createRequest is required.
createRequest
object (CreateConferenceRequest) 
optional
A request to generate a new conference and attach it to the event. The data is generated asynchronously. To see whether the data is present check the status field.
Either conferenceSolution and at least one entryPoint, or createRequest is required.
entryPoints
array[object (EntryPoint) {10}] 
optional
Information about individual conference entry points, such as URLs or phone numbers.
All of them must belong to the same conference.
Either conferenceSolution and at least one entryPoint, or createRequest is required.
notes
string 
optional
Additional notes (such as instructions from the domain administrator, legal notices) to display to the user. Can contain HTML. The maximum length is 2048 characters. Optional.
parameters
object (ConferenceParameters) 
optional
Additional properties related to a conference. An example would be a solution-specific setting for enabling video streaming.
signature
string 
optional
The signature of the conference data.
Generated on server side.
Unset for a conference with a failed create request.
Optional for a conference with a pending create request.
created
string <date-time>
optional
Creation time of the event (as a RFC3339 timestamp). Read-only.
creator
object 
optional
The creator of the event. Read-only.
displayName
string 
optional
The creator's name, if available.
email
string 
optional
The creator's email address, if available.
id
string 
optional
The creator's Profile ID, if available.
self
boolean 
optional
Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
Default:
false
description
string 
optional
Description of the event. Can contain HTML. Optional.
end
object (EventDateTime) 
optional
The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance.
date
string <date>
optional
The date, in the format "yyyy-mm-dd", if this is an all-day event.
dateTime
string <date-time>
optional
The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.
timeZone
string 
optional
The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end.
endTimeUnspecified
boolean 
optional
Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False.
Default:
false
etag
string 
optional
ETag of the resource.
eventType
string 
optional
Specific type of the event. Read-only. Possible values are:
"default" - A regular event or not further specified.
"outOfOffice" - An out-of-office event.
"focusTime" - A focus-time event.
"workingLocation" - A working location event. Developer Preview.
Default:
default
extendedProperties
object 
optional
Extended properties of the event.
private
object 
optional
Properties that are private to the copy of the event that appears on this calendar.
shared
object 
optional
Properties that are shared between copies of the event on other attendees' calendars.
gadget
object 
optional
A gadget that extends this event. Gadgets are deprecated; this structure is instead only used for returning birthday calendar metadata.
display
string 
optional
The gadget's display mode. Deprecated. Possible values are:
"icon" - The gadget displays next to the event's title in the calendar view.
"chip" - The gadget displays when the event is clicked.
height
integer <int32>
optional
The gadget's height in pixels. The height must be an integer greater than 0. Optional. Deprecated.
iconLink
string 
optional
The gadget's icon URL. The URL scheme must be HTTPS. Deprecated.
link
string 
optional
The gadget's URL. The URL scheme must be HTTPS. Deprecated.
preferences
object 
optional
Preferences.
title
string 
optional
The gadget's title. Deprecated.
type
string 
optional
The gadget's type. Deprecated.
width
integer <int32>
optional
The gadget's width in pixels. The width must be an integer greater than 0. Optional. Deprecated.
guestsCanInviteOthers
boolean 
optional
Whether attendees other than the organizer can invite others to the event. Optional. The default is True.
Default:
true
guestsCanModify
boolean 
optional
Whether attendees other than the organizer can modify the event. Optional. The default is False.
Default:
false
guestsCanSeeOtherGuests
boolean 
optional
Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True.
Default:
true
hangoutLink
string 
optional
An absolute link to the Google Hangout associated with this event. Read-only.
htmlLink
string 
optional
An absolute link to this event in the Google Calendar Web UI. Read-only.
iCalUID
string 
optional
Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method.
Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method.
id
string 
optional
Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules:
characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938
the length of the ID must be between 5 and 1024 characters
the ID must be unique per calendar Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.
If you do not specify an ID, it will be automatically generated by the server.
Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs.
kind
string 
optional
Type of the resource ("calendar#event").
Default:
calendar#event
location
string 
optional
Geographic location of the event as free-form text. Optional.
locked
boolean 
optional
Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only.
Default:
false
organizer
object 
optional
The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in attendees with the organizer field set to True. To change the organizer, use the move operation. Read-only, except when importing an event.
displayName
string 
optional
The organizer's name, if available.
email
string 
optional
The organizer's email address, if available. It must be a valid email address as per RFC5322.
id
string 
optional
The organizer's Profile ID, if available.
self
boolean 
optional
Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False.
Default:
false
originalStartTime
object (EventDateTime) 
optional
For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. It uniquely identifies the instance within the recurring event series even if the instance was moved to a different time. Immutable.
privateCopy
boolean 
optional
If set to True, Event propagation is disabled. Note that it is not the same thing as Private event properties. Optional. Immutable. The default is False.
Default:
false
recurrence
array[string]
optional
List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as specified in RFC5545. Note that DTSTART and DTEND lines are not allowed in this field; event start and end times are specified in the start and end fields. This field is omitted for single events or instances of recurring events.
recurringEventId
string 
optional
For an instance of a recurring event, this is the id of the recurring event to which this instance belongs. Immutable.
reminders
object 
optional
Information about the event's reminders for the authenticated user.
overrides
array[object (EventReminder) {2}] 
optional
If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event. The maximum number of override reminders is 5.
useDefault
boolean 
optional
Whether the default reminders of the calendar apply to the event.
sequence
integer <int32>
optional
Sequence number as per iCalendar.
source
object 
optional
Source from which the event was created. For example, a web page, an email message or any document identifiable by an URL with HTTP or HTTPS scheme. Can only be seen or modified by the creator of the event.
title
string 
optional
Title of the source; for example a title of a web page or an email subject.
url
string 
optional
URL of the source pointing to a resource. The URL scheme must be HTTP or HTTPS.
start
object (EventDateTime) 
optional
The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance.
status
string 
optional
Status of the event. Optional. Possible values are:
"confirmed" - The event is confirmed. This is the default status.
"tentative" - The event is tentatively confirmed.
"cancelled" - The event is cancelled (deleted). The list method returns cancelled events only on incremental sync (when syncToken or updatedMin are specified) or if the showDeleted flag is set to true. The get method always returns them.
A cancelled status represents two different states depending on the event type:
Cancelled exceptions of an uncancelled recurring event indicate that this instance should no longer be presented to the user. Clients should store these events for the lifetime of the parent recurring event.
Cancelled exceptions are only guaranteed to have values for the id, recurringEventId and originalStartTime fields populated. The other fields might be empty.
All other cancelled events represent deleted events. Clients should remove their locally synced copies. Such cancelled events will eventually disappear, so do not rely on them being available indefinitely.
Deleted events are only guaranteed to have the id field populated. On the organizer's calendar, cancelled events continue to expose event details (summary, location, etc.) so that they can be restored (undeleted). Similarly, the events to which the user was invited and that they manually removed continue to provide details. However, incremental sync requests with showDeleted set to false will not return these details.
If an event changes its organizer (for example via the move operation) and the original organizer is not on the attendee list, it will leave behind a cancelled event where only the id field is guaranteed to be populated.
summary
string 
optional
Title of the event.
transparency
string 
optional
Whether the event blocks time on the calendar. Optional. Possible values are:
"opaque" - Default value. The event does block time on the calendar. This is equivalent to setting Show me as to Busy in the Calendar UI.
"transparent" - The event does not block time on the calendar. This is equivalent to setting Show me as to Available in the Calendar UI.
Default:
opaque
updated
string <date-time>
optional
Last modification time of the event (as a RFC3339 timestamp). Read-only.
visibility
string 
optional
Visibility of the event. Optional. Possible values are:
"default" - Uses the default visibility for events on the calendar. This is the default value.
"public" - The event is public and event details are visible to all readers of the calendar.
"private" - The event is private and only event attendees may view event details.
"confidential" - The event is private. This value is provided for compatibility reasons.
Default:
default
workingLocationProperties
object (EventWorkingLocationProperties) 
optional
Developer Preview: Working Location event data. Read-only.
customLocation
object 
optional
If present, specifies that the user is working from a custom location.
homeOffice
optional
If present, specifies that the user is working at home.
officeLocation
object 
optional
If present, specifies that the user is working from an office.
Previous
/calendars/{calendarId}/events/import
Next
/calendars/{calendarId}/events/watch
Built with