> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Sent Emails

> Search and filter the recent sent-email delivery history by subject, recipient, status, type, and source.

# List Sent Emails

Returns the same 14-day delivery history used by the dashboard. Test sends and
CC/BCC bookkeeping rows are hidden; bounced or complained copied recipients
remain visible because they carry sender-health feedback.

`search` (or `q`) searches both subject/title and recipient email. Use
`subject` (`title` is an alias) or `recipient` when you need one field. The
`opened` status includes clicked deliveries, matching the dashboard.

## Query Parameters

<ParamField query="search" type="string">
  Case-insensitive subject or recipient search.
</ParamField>

<ParamField query="subject" type="string">
  Case-insensitive subject/title filter. `title` is accepted as an alias.
</ParamField>

<ParamField query="recipient" type="string">
  Case-insensitive recipient email filter.
</ParamField>

<ParamField query="status" type="string">
  One of `pending`, `sent`, `delivered`, `opened`, `clicked`, `bounced`,
  `complained`, `failed`, or `suppressed`.
</ParamField>

<ParamField query="emailType" type="string">
  One of `campaign`, `transactional`, or `sequence`.
</ParamField>

<ParamField query="bounceType" type="string">
  `Permanent` or `Transient`. This also restricts status to bounced.
</ParamField>

<ParamField query="campaignId" type="string">
  Filter by campaign ID.
</ParamField>

<ParamField query="transactionalEmailId" type="string">
  Filter by saved transactional email ID.
</ParamField>

<ParamField query="automationId" type="string">
  Filter by sequence/automation ID.
</ParamField>

<ParamField query="days" type="number" default="14">
  History window from 1 to 14 days.
</ParamField>

<ParamField query="page" type="number" default="1">
  Page number, starting at 1.
</ParamField>

<ParamField query="limit" type="number" default="20">
  Results per page, from 1 to 100.
</ParamField>

<ParamField query="sortField" type="string" default="createdAt">
  `recipientEmail`, `subject`, `status`, `eventAt`, `sentAt`, or `createdAt`.
</ParamField>

<ParamField query="sortOrder" type="string" default="desc">
  `asc` or `desc`.
</ParamField>

## Example

```bash theme={null}
curl "https://api.sequenzy.com/api/v1/email-sends?search=welcome&status=opened&emailType=transactional&days=7" \
  -H "Authorization: Bearer API_KEY"
```

```json 200 theme={null}
{
  "success": true,
  "retentionDays": 14,
  "emailSends": [
    {
      "id": "send_123",
      "type": "transactional",
      "recipientEmail": "user@example.com",
      "subject": "Welcome",
      "status": "clicked",
      "eventAt": "2026-07-22T10:05:00.000Z",
      "openedAt": "2026-07-22T10:03:00.000Z",
      "clickedAt": "2026-07-22T10:05:00.000Z",
      "opened": true,
      "clicked": true
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1,
    "totalPages": 1
  }
}
```

Pass a returned ID to
`GET /api/v1/email-sends/{emailSendId}` for the stored snapshot and complete
event timeline. A single delivery is opened or not opened—it does not have an
open rate. Use transactional email metrics for aggregate rates.
