Saasco logoSaasco logo
Saasco logoSaasco logo

Introduction

OverviewGetting startedAgent setupWhat is Saasco?

SDK

Quick startTrackingIdentifyConfigurationWidgetsProperties

MCP

Quick startHow it worksAuthorizationTool reference
Skills for agents

REST API

Quick start
getList EmailsgetGet EmailgetList Contact EmailsgetGet Email Events
Email MarketingEmails

List Contact Emails

View as MarkdownAgent setup

Every email this project has sent to one contact, across all campaigns: the per-person send history you would show on a contact detail page. Use List Emails instead to work from the campaign side.

GET
/projects/{projectId}/contacts/{contactDistinctId}/emails

Authorization

Authorization
AuthorizationBearer <token>

In: header

Path Parameters

projectIdrequiredstring

ID of the project that sent the emails.

contactDistinctIdrequiredstring

Distinct ID of the contact whose emails to list.

Query Parameters

skipnumber

Number of emails to skip before collecting results.

sortBystring

Field to sort by, e.g. sentAt or lastEventAt.

Value in: "sentAt" | "deliveredAt" | "openedAt" | "clickedAt" | "bouncedAt" | "suppressedAt" | "to" | "status" | "lastEventAt"
sortOrderstring

Sort direction.

Value in: "asc" | "desc"
takenumber

Maximum number of emails to return.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/projects/string/contacts/string/emails"
[  {    "id": "string",    "createdAt": "string",    "updatedAt": "string",    "projectId": "string",    "emailCampaignId": "string",    "messageId": "string",    "distinctId": "string",    "to": "string",    "contactDistinctId": "string",    "subject": "string",    "lastEventAt": "string",    "sent": true,    "sentAt": "string",    "delivered": true,    "deliveredAt": "string",    "opened": true,    "openedAt": "string",    "clicked": true,    "clickedAt": "string",    "bounced": true,    "bouncedAt": "string",    "complained": true,    "complainedAt": "string",    "suppressed": true,    "suppressedAt": "string",    "sendPhase": "sample",    "status": "pending"  }]

Get Email

Fetches one sent email (its recipient, status, and delivery timestamps) together with the rendered subject and body as that recipient actually received it, personalisation included. The content is fetched from the email provider, so this is heavier than the row returned by List Emails.

Get Email Events

The delivery timeline for a single email: an ordered list of `{ type, timestamp }` entries covering pending, sent, delivered, opened, clicked, bounced, complained, suppressed, and delivery-delayed. Types can repeat: a recipient who opens twice produces two `opened` entries.