Agenda
Update a calendar event
Partially update an event by its provider event ID. Only provided fields change; sending new times can switch an event between timed and all-day. **Requires an `Idempotency-Key` header.** Returns `{ d
PATCH /v2/agenda/calendar/events/{eventId}
Parameters
Path parameters
eventId
string required
Request body
Content-Type: application/json
summary
string
description
string
location
string
attendees
array<object>
attendees[].email
string (email)
attendees[].display_name
string
account_email
string
account_provider
string enum
Possible values:
"GOOGLE", "OFFICE365"start_datetime
string (date-time)
Event start, ISO 8601 with offset (timed events)
end_datetime
string (date-time)
Event end, ISO 8601 with offset (timed events)
timezone
string
IANA timezone for the event (e.g. "America/New_York")
start_date
string (date)
Event start date, YYYY-MM-DD (all-day events)
end_date
string (date)
Event end date, YYYY-MM-DD, EXCLUSIVE (all-day events; a one-day event on the 10th ends on the 11th)
Example
{
"summary": "string",
"description": "string"
}
Responses
200 — Successful response
Content-Type: application/json
data
object required
data.calendar_event
object required
data.calendar_event.providerId
string required
data.calendar_event.type
string enum required
Possible values:
"EMAIL", "CALENDAR"data.calendar_event.subjectOrTitle
string required
data.calendar_event.dateTime
string (date-time) required
data.calendar_event.endDateTime
string (date-time)
data.calendar_event.isAllDay
boolean | null
data.calendar_event.participants
array<object> required
data.calendar_event.participants[].email
string required
data.calendar_event.participants[].name
string | null
data.calendar_event.providerLink
string | null
data.calendar_event.email
string required
data.calendar_event.iCalUID
string | null
data.calendar_event.summaryOfEvent
string | null
data.calendar_event.descriptionOfEvent
string | null
data.calendar_event.conferenceData
object | null
data.calendar_event.conferenceData.conferenceId
string | null
data.calendar_event.conferenceData.entryPoints
array<object> | null
data.calendar_event.conferenceData.entryPoints[].uri
string | null
data.calendar_event.conferenceData.entryPoints[].label
string | null
data.calendar_event.conferenceData.entryPoints[].accessCode
string | null
data.calendar_event.isRecurring
boolean | null
data.calendar_event.provider
string | null
Example
{
"data": {
"calendar_event": {
"providerId": "string",
"type": "EMAIL",
"subjectOrTitle": "string",
"dateTime": "2026-08-21T15:31:00.958Z",
"participants": [
{
"email": "string"
}
],
"email": "string"
}
}
}
400
No response body.
401
No response body.
403
No response body.
404
No response body.
409
No response body.
429
No response body.
500
No response body.
Code samples
curl https://api.prod.getdex.com/v2/agenda/calendar/events/string \
--request PATCH \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"summary": "string",
"description": "string"
}'
fetch('https://api.prod.getdex.com/v2/agenda/calendar/events/string', {
method: 'PATCH',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
summary: 'string',
description: 'string'
})
})
requests.patch(
"https://api.prod.getdex.com/v2/agenda/calendar/events/string",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"summary": "string",
"description": "string"
}
)
Get a calendar event
Retrieve a single calendar event by its provider event ID, including attendees, conferencing links, and recurrence flags. Reads from the primary connected calendar unless `account_email` selects anoth
Delete a calendar event
Delete an event from the connected calendar by its provider event ID. Deleting an event you organize cancels it for all attendees. Returns `{ data: { affected, ids } }`. `Idempotency-Key` is optional.

