Skip to content

Events

8 endpoints

System events and event history

POST /accounts/{accountId}/availability

Check participant availability

Calculate availability slots for the specified participants.

Parameters

accountId string

In path Required

Request body

Required • application/json

Request body (application/json)

post-/accounts/{accountId}/availability-request-body-application/json

object<{ participants, startTime, endTime, … }>
Field Type Description Values
endTime Required string
intervalMinutes Optional number
participants Required array<string>
min items 1
startTime Required string
timeZone Optional string

Returns

Availability matrix returned when checking participant availability.

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X POST "http://localhost:8080/accounts/{accountId}/availability" \
                  
                    
                      -H "Content-Type: application/json"
                  
              
Example response 200

              {
  "slots": [
    {
      "start": "2024-07-01T15:00:00.000Z",
      "end": "2024-07-01T15:30:00.000Z",
      "participants": [
        "[email protected]",
        "[email protected]"
      ],
      "participantAvailability": [
        {
          "participant": "[email protected]",
          "available": true
        },
        {
          "participant": "[email protected]",
          "available": false
        }
      ]
    }
  ],
  "timeZone": "America/New_York"
}
            

POST /accounts/{accountId}/calendars/{calendarId}/events

Create calendar event

Create a new event in the specified calendar.

Parameters

accountId string

In path Required

calendarId string

In path Required

Request body

Required • application/json

Request body (application/json)

post-/accounts/{accountId}/calendars/{calendarId}/events-request-body-application/json

object<{ summary, description, location, … }>
Field Type Description Values
attendees Optional array<object<{ email, displayName, optional }>>
description Optional string
end Required object<{ dateTime, date, timeZone }>
location Optional string
start Required object<{ dateTime, date, timeZone }>
summary Required string

Returns

Wrapper containing a single calendar event.

Content type: application/json

Status: 201

Example request
                
                    
                    curl -X POST "http://localhost:8080/accounts/{accountId}/calendars/{calendarId}/events" \
                  
                    
                      -H "Content-Type: application/json"
                  
              
Example response 201

              {
  "event": {
    "id": "evt_01J0AGD5EFD9F5A6W1X6NS3J3C",
    "summary": "Customer onboarding call",
    "description": "Kickoff conversation with the Contoso success team.",
    "start": {
      "dateTime": "2024-07-01T15:00:00.000Z",
      "timeZone": "UTC"
    },
    "end": {
      "dateTime": "2024-07-01T16:00:00.000Z",
      "timeZone": "UTC"
    },
    "location": "Video call",
    "attendees": [
      {
        "email": "[email protected]",
        "displayName": "Alex Johnson",
        "responseStatus": "accepted",
        "optional": false
      }
    ],
    "organizer": {
      "email": "[email protected]",
      "displayName": "Operations",
      "self": true
    },
    "status": "confirmed",
    "htmlLink": "https://calendar.google.com/event?eid=evt_01J0AGD5EFD9F5A6W1X6NS3J3C",
    "created": "2024-06-20T12:10:00.000Z",
    "updated": "2024-06-20T12:15:00.000Z",
    "creator": {
      "email": "[email protected]",
      "displayName": "Alex Johnson",
      "self": false
    },
    "provider": "google",
    "calendarId": "primary"
  }
}
            

DELETE /accounts/{accountId}/calendars/{calendarId}/events/{eventId}

Delete calendar event

Delete an event from the specified calendar.

Parameters

accountId string

In path Required

calendarId string

In path Required

eventId string

In path Required

Returns

Default Response

Status: 204

Example request
                
                    
                    curl -X DELETE "http://localhost:8080/accounts/{accountId}/calendars/{calendarId}/events/{eventId}"
                  
              
Example response 204

No example response available.


PUT /accounts/{accountId}/calendars/{calendarId}/events/{eventId}

Update calendar event

Update an existing event in the specified calendar.

Parameters

accountId string

In path Required

calendarId string

In path Required

eventId string

In path Required

Request body

Optional • application/json

Request body (application/json)

put-/accounts/{accountId}/calendars/{calendarId}/events/{eventId}-request-body-application/json

object<{ summary, description, location, … }>
Field Type Description Values
attendees Optional array<object<{ email, displayName, optional }>>
description Optional string
end Optional object<{ dateTime, date, timeZone }>
location Optional string
start Optional object<{ dateTime, date, timeZone }>
summary Optional string

Returns

Wrapper containing a single calendar event.

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X PUT "http://localhost:8080/accounts/{accountId}/calendars/{calendarId}/events/{eventId}" \
                  
                    
                      -H "Content-Type: application/json"
                  
              
Example response 200

              {
  "event": {
    "id": "evt_01J0AGD5EFD9F5A6W1X6NS3J3C",
    "summary": "Customer onboarding call",
    "description": "Kickoff conversation with the Contoso success team.",
    "start": {
      "dateTime": "2024-07-01T15:00:00.000Z",
      "timeZone": "UTC"
    },
    "end": {
      "dateTime": "2024-07-01T16:00:00.000Z",
      "timeZone": "UTC"
    },
    "location": "Video call",
    "attendees": [
      {
        "email": "[email protected]",
        "displayName": "Alex Johnson",
        "responseStatus": "accepted",
        "optional": false
      }
    ],
    "organizer": {
      "email": "[email protected]",
      "displayName": "Operations",
      "self": true
    },
    "status": "confirmed",
    "htmlLink": "https://calendar.google.com/event?eid=evt_01J0AGD5EFD9F5A6W1X6NS3J3C",
    "created": "2024-06-20T12:10:00.000Z",
    "updated": "2024-06-20T12:15:00.000Z",
    "creator": {
      "email": "[email protected]",
      "displayName": "Alex Johnson",
      "self": false
    },
    "provider": "google",
    "calendarId": "primary"
  }
}
            

POST /accounts/{accountId}/calendars/{calendarId}/events/{eventId}/rsvp

Update RSVP for an event

Set the RSVP status for the authenticated attendee on an event.

Parameters

accountId string

In path Required

calendarId string

In path Required

eventId string

In path Required

Request body

Required • application/json

Request body (application/json)

post-/accounts/{accountId}/calendars/{calendarId}/events/{eventId}/rsvp-request-body-application/json

object<{ responderEmail, response, comment, … }>
Field Type Description Values
comment Optional string
notifyAttendees Optional boolean
responderEmail Optional string
response Required string
accepteddeclinedtentative

Returns

Wrapper containing a single calendar event.

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X POST "http://localhost:8080/accounts/{accountId}/calendars/{calendarId}/events/{eventId}/rsvp" \
                  
                    
                      -H "Content-Type: application/json"
                  
              
Example response 200

              {
  "event": {
    "id": "evt_01J0AGD5EFD9F5A6W1X6NS3J3C",
    "summary": "Customer onboarding call",
    "description": "Kickoff conversation with the Contoso success team.",
    "start": {
      "dateTime": "2024-07-01T15:00:00.000Z",
      "timeZone": "UTC"
    },
    "end": {
      "dateTime": "2024-07-01T16:00:00.000Z",
      "timeZone": "UTC"
    },
    "location": "Video call",
    "attendees": [
      {
        "email": "[email protected]",
        "displayName": "Alex Johnson",
        "responseStatus": "accepted",
        "optional": false
      }
    ],
    "organizer": {
      "email": "[email protected]",
      "displayName": "Operations",
      "self": true
    },
    "status": "confirmed",
    "htmlLink": "https://calendar.google.com/event?eid=evt_01J0AGD5EFD9F5A6W1X6NS3J3C",
    "created": "2024-06-20T12:10:00.000Z",
    "updated": "2024-06-20T12:15:00.000Z",
    "creator": {
      "email": "[email protected]",
      "displayName": "Alex Johnson",
      "self": false
    },
    "provider": "google",
    "calendarId": "primary"
  }
}
            

POST /accounts/{accountId}/free-busy

Get free/busy information

Return busy intervals for the specified calendars.

Parameters

accountId string

In path Required

Request body

Required • application/json

Request body (application/json)

post-/accounts/{accountId}/free-busy-request-body-application/json

object<{ calendars, startTime, endTime, … }>
Field Type Description Values
calendars Required array<string>
min items 1
endTime Required string
startTime Required string
timeZone Optional string

Returns

Busy intervals for the requested calendars.

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X POST "http://localhost:8080/accounts/{accountId}/free-busy" \
                  
                    
                      -H "Content-Type: application/json"
                  
              
Example response 200

              {
  "calendars": [
    {
      "calendarId": "primary",
      "busy": [
        {
          "start": "2024-07-01T13:00:00.000Z",
          "end": "2024-07-01T14:00:00.000Z"
        }
      ]
    }
  ],
  "timeZone": "America/New_York"
}
            

GET /accounts/{accountId}/rooms

List meeting rooms/resources

Retrieve available room resources for scheduling.

Parameters

accountId string

In path Required

Additional parameters
limit string

In query Optional

buildingId string

In query Optional

pageToken string

In query Optional

Returns

Collection of room resources available for booking.

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X GET "http://localhost:8080/accounts/{accountId}/rooms"
                  
              
Example response 200

              {
  "rooms": [
    {
      "id": "room_nyc_1a",
      "name": "NYC Conference Room A",
      "displayName": "Conference Room A (NYC HQ)",
      "capacity": 8,
      "buildingId": "NYC-HQ-1",
      "building": "NYC HQ",
      "floor": "12",
      "email": "[email protected]"
    }
  ]
}
            

GET /events

Get event history

Retrieve the history of system events including account connections, message events, and sync operations.

Parameters

limit string

In query Optional

Returns

Default Response

Content type: application/json

Status: 200

Example request
                
                    
                    curl -X GET "http://localhost:8080/events"
                  
              
Example response 200

No example response available.