Agenda
Search or list emails
Email search and listing across ALL of the authenticated user's connected mail accounts, fetched live from the providers (Google / Microsoft) — Dex stores no message content. Omit `searchQuery` to lis
GET /v2/agenda/email/messages
Parameters
Query parameters
limit
integer
searchQuery
string
folder
string enum
Possible values:
"inbox", "all"cursor
string
dateRange
object
Responses
200 — Successful response
Content-Type: application/json
data
object required
data.email_messages
array<object> required
data.email_messages[].providerId
string required
data.email_messages[].threadId
string | null
data.email_messages[].type
string enum required
Possible values:
"EMAIL", "CALENDAR"data.email_messages[].subjectOrTitle
string required
data.email_messages[].snippet
string | null
data.email_messages[].dateTime
string (date-time) required
data.email_messages[].from
object | null
data.email_messages[].from.email
string
data.email_messages[].from.name
string | null
data.email_messages[].participants
array<object> required
data.email_messages[].participants[].email
string required
data.email_messages[].participants[].name
string | null
data.email_messages[].providerLink
string | null
data.email_messages[].email
string required
data.email_messages[].provider
string | null
data.pagination
object
data.pagination.nextCursor
string | null
data.pagination.count
integer
Example
{
"data": {
"email_messages": [
{
"providerId": "string",
"type": "EMAIL",
"subjectOrTitle": "string",
"dateTime": "2026-09-17T02:39:21.250Z",
"participants": [
{
"email": "string"
}
],
"email": "string"
}
]
}
}
400 — Request body failed validation.
Content-Type: application/json
(body)
any
401 — Missing or invalid API key.
Content-Type: application/json
(body)
any
403 — Valid key, insufficient permission.
Content-Type: application/json
(body)
any
404 — Resource does not exist.
Content-Type: application/json
(body)
any
409 — Request conflicts with the current state of the resource.
Content-Type: application/json
(body)
any
429 — Rate limit exceeded.
Content-Type: application/json
(body)
any
500 — Unexpected server error.
Content-Type: application/json
(body)
any
Code samples
curl https://api.prod.getdex.com/v2/agenda/email/messages \
--header 'Authorization: Bearer YOUR_API_KEY'
fetch('https://api.prod.getdex.com/v2/agenda/email/messages', {
headers: {
Authorization: 'Bearer YOUR_API_KEY'
}
})
requests.get(
"https://api.prod.getdex.com/v2/agenda/email/messages",
headers={
"Authorization": "Bearer YOUR_API_KEY"
}
)
Create a calendar event
Create an event on the connected calendar (primary account by default). Set start_datetime/end_datetime for a timed event, or start_date/end_date for an all-day event (end date exclusive). **Requires
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

