Skip to content

Calendar events across all connected accounts in a time window

GET
/api/v1/calendar/events
curl --request GET \
--url 'http://localhost:11044/api/v1/calendar/events?days=7' \
--header 'X-Embabel-Api-Key: <X-Embabel-Api-Key>'
days
integer format: int32
default: 7

Length of the window in days, starting now and running forward, so past events are never included; defaults to 7, 0 gives a zero-length window, and a negative value is a 400. No upper limit is applied

Days is negative. The reason is carried in the body’s error field, alongside an empty events list

Media type*/*

Calendar events from GET /calendar/events, or why they could not be read

object
error

Why no events were returned: a negative days, or the calendar providers could not be read. Null on success

string
events
required

Events from every connected calendar account between now and days days ahead, merged and sorted by start. A provider that fails is skipped rather than reported. Empty when error is set

Array<object>

One instance of an event on a calendar of the signed-in user’s connected accounts; a recurring meeting arrives as one entry per occurrence. Returned in the events list of GET /calendar/events.

object
account

The connected account the event was read from; set on every event GET /calendar/events returns

object
accountId
required

The provider’s stable identifier for the account, typically its email address

string
displayName
required

Label recorded for the account when it was connected, for showing in a UI

string
provider
required

Key of the OAuth provider the account was connected through, such as google-workspace

string
attendees
required

Everyone invited, people and resources alike; empty when the event has no guest list

Array<object>

One person or resource invited to a calendar event, as the provider lists them. Found in a CalendarEvent’s attendees and organizer on GET /calendar/events.

object
displayName

Name the provider shows for the attendee; null when it has none

string
email
required

The attendee’s email address as the provider lists it; empty when the provider gave none

string
isOptional
required

True when the invitation marks this attendee optional

boolean
isOrganizer
required

True when the provider marks this attendee as the event’s organizer

boolean
isResource
required

True for a booked room or device rather than a person

boolean
response
required

This attendee’s reply to the invitation; NEEDS_ACTION when the provider reports no reply

string
Allowed values: NEEDS_ACTION ACCEPTED TENTATIVE DECLINED
calendarId
required

The provider’s id of the calendar holding the event; one account can have several calendars

string
description
required

Event description or agenda as the provider stores it, which may contain HTML; empty when there is none

string
end
required

End of the event, an ISO-8601 instant, exclusive; one hour after start when the provider gave no end

string format: date-time
eventId
required

The provider’s id for this event instance

string
isAllDay
required

True for an all-day event, which has a date but no time of day

boolean
isRecurring
required

True when this is one occurrence of a recurring series

boolean
joinUrl

Video-call link: the provider’s structured conference link, else a legacy Meet link, else the first http(s) URL in the location; null when none is found

string
location

Location text as the provider gives it, a place name or an address; null when absent or blank

string
myResponse
required

The signed-in user’s reply, from their own attendee entry. With no such entry it is ACCEPTED when the event has no guests or they organized or created it, otherwise NEEDS_ACTION

string
Allowed values: NEEDS_ACTION ACCEPTED TENTATIVE DECLINED
organizer

The organizer, from the provider’s organizer field or else the attendee marked as organizer; null when there is neither

object
displayName

Name the provider shows for the attendee; null when it has none

string
email
required

The attendee’s email address as the provider lists it; empty when the provider gave none

string
isOptional
required

True when the invitation marks this attendee optional

boolean
isOrganizer
required

True when the provider marks this attendee as the event’s organizer

boolean
isResource
required

True for a booked room or device rather than a person

boolean
response
required

This attendee’s reply to the invitation; NEEDS_ACTION when the provider reports no reply

string
Allowed values: NEEDS_ACTION ACCEPTED TENTATIVE DECLINED
start
required

Start of the event, an ISO-8601 instant. For an all-day event, midnight at the start of its date in the event’s time zone

string format: date-time
timeZone
required

Time-zone id the event is scheduled in, such as Europe/London, for display; the calendar’s own zone when the event names none or an unknown one

string
title
required

Event title; (no title) when the provider has none

string
url

Link to the event in the provider’s web UI; null when the provider gives none

string
visibility
required

The provider’s visibility setting for the event; DEFAULT when it sets none or a value not listed

string
Allowed values: DEFAULT PUBLIC PRIVATE CONFIDENTIAL

The calendar providers could not be read. The reason is carried in the body’s error field, alongside an empty events list

Media type*/*

Calendar events from GET /calendar/events, or why they could not be read

object
error

Why no events were returned: a negative days, or the calendar providers could not be read. Null on success

string
events
required

Events from every connected calendar account between now and days days ahead, merged and sorted by start. A provider that fails is skipped rather than reported. Empty when error is set

Array<object>

One instance of an event on a calendar of the signed-in user’s connected accounts; a recurring meeting arrives as one entry per occurrence. Returned in the events list of GET /calendar/events.

object
account

The connected account the event was read from; set on every event GET /calendar/events returns

object
accountId
required

The provider’s stable identifier for the account, typically its email address

string
displayName
required

Label recorded for the account when it was connected, for showing in a UI

string
provider
required

Key of the OAuth provider the account was connected through, such as google-workspace

string
attendees
required

Everyone invited, people and resources alike; empty when the event has no guest list

Array<object>

One person or resource invited to a calendar event, as the provider lists them. Found in a CalendarEvent’s attendees and organizer on GET /calendar/events.

object
displayName

Name the provider shows for the attendee; null when it has none

string
email
required

The attendee’s email address as the provider lists it; empty when the provider gave none

string
isOptional
required

True when the invitation marks this attendee optional

boolean
isOrganizer
required

True when the provider marks this attendee as the event’s organizer

boolean
isResource
required

True for a booked room or device rather than a person

boolean
response
required

This attendee’s reply to the invitation; NEEDS_ACTION when the provider reports no reply

string
Allowed values: NEEDS_ACTION ACCEPTED TENTATIVE DECLINED
calendarId
required

The provider’s id of the calendar holding the event; one account can have several calendars

string
description
required

Event description or agenda as the provider stores it, which may contain HTML; empty when there is none

string
end
required

End of the event, an ISO-8601 instant, exclusive; one hour after start when the provider gave no end

string format: date-time
eventId
required

The provider’s id for this event instance

string
isAllDay
required

True for an all-day event, which has a date but no time of day

boolean
isRecurring
required

True when this is one occurrence of a recurring series

boolean
joinUrl

Video-call link: the provider’s structured conference link, else a legacy Meet link, else the first http(s) URL in the location; null when none is found

string
location

Location text as the provider gives it, a place name or an address; null when absent or blank

string
myResponse
required

The signed-in user’s reply, from their own attendee entry. With no such entry it is ACCEPTED when the event has no guests or they organized or created it, otherwise NEEDS_ACTION

string
Allowed values: NEEDS_ACTION ACCEPTED TENTATIVE DECLINED
organizer

The organizer, from the provider’s organizer field or else the attendee marked as organizer; null when there is neither

object
displayName

Name the provider shows for the attendee; null when it has none

string
email
required

The attendee’s email address as the provider lists it; empty when the provider gave none

string
isOptional
required

True when the invitation marks this attendee optional

boolean
isOrganizer
required

True when the provider marks this attendee as the event’s organizer

boolean
isResource
required

True for a booked room or device rather than a person

boolean
response
required

This attendee’s reply to the invitation; NEEDS_ACTION when the provider reports no reply

string
Allowed values: NEEDS_ACTION ACCEPTED TENTATIVE DECLINED
start
required

Start of the event, an ISO-8601 instant. For an all-day event, midnight at the start of its date in the event’s time zone

string format: date-time
timeZone
required

Time-zone id the event is scheduled in, such as Europe/London, for display; the calendar’s own zone when the event names none or an unknown one

string
title
required

Event title; (no title) when the provider has none

string
url

Link to the event in the provider’s web UI; null when the provider gives none

string
visibility
required

The provider’s visibility setting for the event; DEFAULT when it sets none or a value not listed

string
Allowed values: DEFAULT PUBLIC PRIVATE CONFIDENTIAL