---
title: "Get email tracking (single message timeline)"
method: GET
path: "/email/tracking/single/{trackingId}"
tags: ["Email API"]
---

# Get email tracking (single message timeline)

`GET /email/tracking/single/{trackingId}`

Returns the ordered **event timeline** for one message — queued, sent, delivered, bounced, opened, clicked.

Each event includes human-readable `status` and `event` fields. Optional **`results`**, **`dsn`**, and **`callbackBody`** are troubleshooting fields (SMTP/MTA detail) — not required for normal monitoring. The portal shows them under collapsed **Technical details**; failed events may surface short delivery descriptions automatically.

Pass the **trackingId** from [Send a transactional email](https://docs.routee.net/reference/email-v2-transactional-1) or from search list rows (Tracking ID column / `trackingId` field).

Set `include_content=true` to include HTML/text body on timeline events (list/search omit body by default).

## Path parameters

- `trackingId` string, required

## Query parameters

- `include_content` boolean

## Headers

- `Authorization` string, required

## Response `200`

Timeline events (newest-first or service order)

- EmailTracking[]
  - `trackingId` string — Batch id from POST /transactional-email — primary customer correlation id.
  - `messageId` string — Per-recipient worker log id — timeline key for one recipient in a batch.
  - `recipient` string
  - `from` string
  - `subject` string
  - `status` string
  - `deliveryStatus` string
  - `event` string
  - `channel` 'API' | 'SMTP' | 'MARKETING'
  - `campaignName` string
  - `envelope` string
  - `date` string, date-time
  - `openedCount` integer
  - `clickCount` integer
  - `tags` string[]
  - `content` string — Present when `include_content=true` on single GET.
  - `results` EmailTrackingSmtpResult[]
    - `deliveryStatus` string
    - `time` string
    - `messages` integer
    - `dsn` boolean
    - `description` string
    - `status` string
    - `state` string
    - `attempt` integer
  - `callbackBody` object
  - `dsn` object

## Other responses

- `401` — Missing or invalid Bearer token
- `403` — Insufficient role or OAuth scope (`transactional_email` required)
- `404` — Message not found for this account

---

[API](https://skmtc.net/routee/apis/auth.md) · [All operations](https://skmtc.net/routee/apis/auth/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/routee/auth/revisions/5cef04e8f7d8/schema)
