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'
Copyright © 2026