---
title: "Automation stats"
description: "How an automation is doing inside a window: totals, a row for each step and a point for each day."
url: "https://openemail.uk/docs/api/automations/stats"
area: "API"
category: "Mailbox"
---

# Automation stats

How an automation is doing inside a window: totals, a row for each step and a point for each day.

`GET /automations/{id}/stats`

## GET /automations/{id}/stats

How an automation is doing inside a window: totals, a row for each step and a point for each day.

## Example

Needs `automations:read`. `since` and `until` are ISO 8601 timestamps. The window defaults to the last 30 days and spans at most 366.

**curl**

```
curl "$OE/automations/aut_7c2e9a1f4b8d30c65e1a9f27/stats?since=2026-10-01T00:00:00Z" -H "$AUTH"
```

**Response**

```
{
  "object": "automation_stats",
  "automationId": "aut_7c2e9a1f4b8d30c65e1a9f27",
  "since": "2026-10-01T00:00:00.000Z",
  "until": "2026-10-11T09:30:00.000Z",
  "totals": {
    "entered": 459, "active": 38, "completed": 412, "exited": 9,
    "sent": 611, "delivered": 604, "opened": 371, "clicked": 96,
    "bounced": 7, "complained": 0, "unsubscribed": 4
  },
  "steps": [
    {
      "stepKey": "welcome", "kind": "send_email",
      "entered": 459, "waiting": 0, "completed": 459, "exited": 0,
      "sent": 457, "skipped": 2, "failed": 0, "yes": 0, "no": 0,
      "delivered": 452, "opened": 301, "clicked": 88, "bounced": 5, "complained": 0, "unsubscribed": 3
    }
  ],
  "series": [{ "day": "2026-10-10T00:00:00.000Z", "entered": 41, "completed": 37, "exited": 1, "sent": 55 }]
}
```

> `active` and each step’s `waiting` are counted now, whatever the window. Everything else is counted inside it.

> Days in `series` are UTC days.

> `opened` counts emails opened at least once, and is only as reliable as open tracking: mail apps that load images for the reader inflate it.

## Reference

- [`GET /automations/{id}/stats`](https://openemail.uk/docs/api/reference/automations#get-automations-id-stats): full reference
