Skip to main content
The Resend source reads sent and received email, attachments, domains, audience data, broadcasts, templates, webhook deliveries, and the API request log. It is built with an HTTP manifest and is beta. Its resources are stable, though future releases may add columns.

Configuration

Resources

Modes

Full only. The manifest declares no incremental blocks, so every run re-reads every selected resource from the start. Full runs checkpoint their pagination cursor per top-level resource and resume from the last completed page. Child resources always restart with their parent.

Behavior

  • Auth: bearer token from api_key on every request.
  • Pagination: Resend returns no next-page token. The cursor is the id of the last record on the page (data.-1.id), echoed back as the after query parameter, with has_more as the terminator and limit=100 per page. Detail resources are single-object requests (cardinality: one).
  • Rate limiting: dynamic. A static 8 requests/second limiter holds below Resend’s 10 rps team-wide cap, and the IETF-draft ratelimit-remaining / ratelimit-reset headers (reset counted as seconds from now) tighten it further as the window drains, but never below one request per second.
  • Timestamps: most created_at-style columns are typed string, not timestamptz, because Resend renders them in a non-RFC 3339 Postgres format that fails sink coercion. Only the endpoints that emit real ISO 8601 (received emails, attachment expiries, webhook events and attempts) are typed timestamptz.
  • Four metrics endpoints (/emails/metrics, /segments/metrics, broadcast metrics and recipients) are deliberately absent. They are private beta and return 404 on most accounts, which would fail the whole run.