candidate.getRecentEmailMessages

Beta

This endpoint is in beta and may not be available for all organizations.

Returns recent email messages for a candidate, newest first. A request without a cursor starts a point-in-time snapshot containing at most 200 matching messages.

Continue with nextCursor while moreDataAvailable is true, repeating the same candidateId, direction, sentAfter, and watermark values on every request. Omit cursor to start a new snapshot that includes the latest available messages. snapshotTruncated means additional older matching messages may exist beyond the snapshot's 200-message window.

When refreshing after a candidateRecentEmailMessagesUpdated webhook, pass data.watermark unchanged and omit cursor. Only a request with that watermark is guaranteed to include the up-to-date email change that triggered the webhook. The watermark applies only to that candidate and is valid for starting the first page for one hour from the delivery attempt. If the first page is accepted within the hour, remaining pages can complete after the watermark expires.

Pages may be shorter than limit because response byte limits and body truncation apply. Message bodies contain untrusted HTML and must be sanitized before rendering. bodyTruncated indicates that Ashby shortened a body to satisfy response-size limits.

Error codes:

CodeDescription
response_too_largeA one-message response still exceeds the response safety limit after body truncation.
watermark_expiredThe watermark is older than one hour and this is a cursorless first-page request.

recordId is not a durable message identifier; do not persist it as one. source indicates where the returned content came from (ashby, sync, import, or public_api). BCC may be null when unavailable. For emails sent through Ashby, receivedReply is true when a reply was received, false when no reply is recorded, and null when unavailable or not applicable. A non-null sequenceId identifies the sourcing sequence associated with the message and matches the id returned by sequence.list; it is null when no sourcing sequence is available.

See the Pagination and Incremental Synchronization guide for general cursor usage.

Requires the emailsRead permission.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
uuid
required
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$

The unique identifier of the candidate

string
enum

Only return messages sent or received by the organization

Allowed:
string

The opaque nextCursor from the previous page. While moreDataAvailable is true, repeat the same candidateId, direction, sentAfter, and watermark values. Omit this field to start a new snapshot that includes the latest available messages.

integer
≤ 100

The maximum number of messages to return. Defaults to 100 and cannot exceed 100. Pages may be shorter than this limit because response byte limits and body truncation apply.

date-time
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$

Only return messages sent after this ISO 8601 timestamp

string

An opaque token from the candidateRecentEmailMessagesUpdated webhook. Pass it unchanged. Only a request with this watermark is guaranteed to include the up-to-date email change that triggered the webhook. Start a new request with this watermark and omit cursor. The watermark applies only to this candidate and is valid for starting the first page for one hour from the webhook delivery attempt. After that hour, a cursorless first-page request fails with watermark_expired. If the first page is accepted within the hour, remaining pages can complete after expiration. On every continuation request, pass the exact same watermark.

Response

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json