# Logs

> Every email has a per-email event timeline — sent, delivered, bounced, complained, opened, clicked, delivery_delayed — in the dashboard, via GET /emails/:id, and forwarded to webhooks.

Every email you send through the API gets a **per-email event timeline**. As the message moves through SendPing’s sending infrastructure and reaches the recipient, SendPing records each event against the email’s `id`, giving you a complete delivery and engagement history.

## Event types

| Event | Meaning |
| --- | --- |
| `sent` | SendPing accepted the email for delivery. |
| `delivered` | The receiving mail server confirmed it accepted the message. |
| `bounced` | The message could not be delivered (e.g. unknown mailbox or a hard rejection). |
| `complained` | The recipient marked the message as spam. |
| `opened` | The recipient’s mail client loaded the tracking pixel (requires [open tracking](https://www.sendping.co/docs/domains/tracking)). |
| `clicked` | The recipient clicked a tracked link (requires [click tracking](https://www.sendping.co/docs/domains/tracking)). |
| `delivery_delayed` | Delivery was temporarily deferred and is being retried. |

## Where to find the timeline

- In the **dashboard** — open an email to see its full event timeline.
- Via the **API** — fetch the email with [`GET /emails/:id`](https://www.sendping.co/docs/api/emails-get) to read its current status and events.
- Via **webhooks** — each event is also forwarded to your configured webhook endpoints in real time. See [Webhooks](https://www.sendping.co/docs/webhooks/overview).

> **Note:** Open and click events only appear when the sending domain has the corresponding tracking toggle enabled. See [Open and click tracking](https://www.sendping.co/docs/domains/tracking).

## API request logs

Separately from the per-email timeline, SendPing records a log of the **API requests** your keys make. This is useful for monitoring activity and troubleshooting integration issues. Each log entry shows:

- **Endpoint** — the request path called (e.g. `/api/domains`, `/api/api-keys`, `/api/contacts`).
- **Status** — the HTTP response status code (`200`, `201`, etc.).
- **Method** — the HTTP method used (`GET`, `POST`, `DELETE`, etc.).
- **Created** — when the request was made (shown as relative time).

### Searching and filtering

Use the search bar to find a request by path. You can narrow the list further with:

- **Time range** — Past 24 hours, Past 7 days, or Past 30 days.
- **Method** — `GET`, `POST`, `PATCH`, or `DELETE`.
- **Status** — `2xx` success, `4xx` client error, or `5xx` server error. Leave it on **All statuses** to view everything.

### Log details

Open any log entry to see the full request body and response body, alongside the HTTP method, path, endpoint, status code, duration, API key used, timestamp, and User-Agent.

The same log entries are available over the API — see [List Logs](https://www.sendping.co/docs/api/logs-list) and [Retrieve Log](https://www.sendping.co/docs/api/logs-get).
