> ## 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.

# Get Sequence Stats

> Get engagement metrics for a sequence

# Get Sequence Stats

Returns aggregated engagement metrics, skipped-enrollment counts, and per-step metrics for a sequence. You can also use `GET /api/v1/metrics/sequences/{sequenceId}`.

## Request

<ParamField path="sequenceId" type="string" required>
  Sequence ID.
</ParamField>

<ParamField query="period" type="string">
  Sliding time window: `1h`, `24h`, `7d`, `30d`, or `90d`.
</ParamField>

<ParamField query="start" type="string">
  Custom range start as an ISO 8601 date-time. Use with `end`.
</ParamField>

<ParamField query="end" type="string">
  Custom range end as an ISO 8601 date-time. Use with `start`.
</ParamField>

```bash theme={null}
curl "https://api.sequenzy.com/api/v1/sequences/seq_abc123/stats?period=7d" \
  -H "Authorization: Bearer seq_live_xxx"
```

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "sequenceId": "seq_abc123",
    "period": "7d",
    "stats": {
      "sent": 120,
      "delivered": 118,
      "bounced": 2,
      "opened": 72,
      "clicked": 18,
      "unsubscribed": 1,
      "deliveryRate": 98.33,
      "bounceRate": 1.67,
      "openRate": 61.02,
      "clickRate": 15.25,
      "unsubscribeRate": 0.85
    },
    "enrollmentSkipped": {
      "count": 3,
      "byReason": {
        "unsubscribed": 2,
        "bounced": 1
      }
    },
    "steps": []
  }
  ```

  `enrollmentSkipped` uses the requested `period` or `start`/`end` range. When
  no explicit range is provided, it covers the last 30 days.

  ```json 401 theme={null}
  {
    "error": "Invalid API key"
  }
  ```

  ```json 403 theme={null}
  {
    "error": "No companies found. Create a company first using the create_company tool."
  }
  ```

  ```json 404 theme={null}
  {
    "error": "Sequence not found"
  }
  ```
</ResponseExample>
