# List warmup jobs

> Returns individual warmup emails (a "job" is one email sent from one warmed mailbox to another), most recent first. This endpoint doesn't take X-Project-Id.…

Source: https://warmerly.com/docs/warmup/list-warmup-jobs

```text
GET /warmup/jobs
```

Returns individual warmup emails (a "job" is one email sent from one warmed mailbox to another), most recent first. This endpoint doesn't take `X-Project-Id`. It only returns jobs where one of your own mailboxes in your active workspace (`X-Workspace-Id`) is the sender or the recipient; filter by `account_id` to scope results to a specific mailbox. An `account_id` that is not one of yours returns `404 not_found`, and an invalid query returns `400 bad_request` (`invalid_query`).

| Query param | Type | Description |
| --- | --- | --- |
| `status` | `pending` \\| `sending` \\| `sent` \\| `processed` \\| `failed` | Filter by job status. |
| `account_id` | uuid | Only jobs where this account is the sender or recipient. |
| `limit` | integer, 1-100 | Default `50`. |

```bash
curl "https://app.warmerly.com/api/v1/warmup/jobs?account_id=1c2d3e4f-...&status=processed&limit=20" \
  -H "X-Api-Key: wmv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
```

```json
{
  "jobs": [
    {
      "id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
      "senderAccountId": "1c2d3e4f-1111-4a2b-8c3d-4e5f6a7b8c9d",
      "recipientAccountId": "2d3e4f5a-2222-4a2b-8c3d-4e5f6a7b8c9d",
      "scheduledAt": "2026-07-02T08:00:00.000Z",
      "sentAt": "2026-07-02T08:00:42.000Z",
      "status": "processed",
      "subject": "Re: quick question about the roadmap",
      "deliveredFolder": "inbox",
      "wasOpened": true,
      "wasReplied": false,
      "emailType": "reply"
    }
  ]
}
```

| Field | Type | Description |
| --- | --- | --- |
| `id` | uuid | Job ID. |
| `senderAccountId` / `recipientAccountId` | uuid | The two mailboxes involved in the exchange. |
| `scheduledAt` | timestamp | When the job was scheduled to send. |
| `sentAt` | timestamp \\| null | When it actually sent. |
| `status` | string | `pending`, `sending`, `sent`, `processed`, or `failed`. |
| `subject` | string | Subject line used. |
| `deliveredFolder` | `inbox` \\| `spam` \\| `promotions` \\| `unknown` \\| null | Where the recipient mailbox filed it, once processed. |
| `wasOpened` / `wasReplied` | boolean | Whether the recipient side opened or replied to it. |
| `emailType` | string \\| null | Internal template category (e.g. `intro`, `reply`). |

This endpoint returns the stored job row, so each job also carries fields such as `bodyText`, `bodyHtml`, `messageId`, `error`, `errorKind`, `attempts` and `threadDepth`. The example above shows only some of them.

## More from Warmup

- [Get warmup trends](https://warmerly.com/docs/warmup/get-warmup-trends): Returns a daily time series plus a current-vs-previous-window summary, suitable for charting score and…
- [Per-account health and job history](https://warmerly.com/docs/warmup/per-account-health-and-job-history): Two account-scoped endpoints give you the same data filtered to a single mailbox. Both take the account ID…
- [Pause and resume warmup on an account](https://warmerly.com/docs/warmup/pause-and-resume-warmup-on-an-account): Warmup only runs against accounts with status = active or aging. Pausing an account stops it from being…
