> ## 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 Account Health

> Read what to fix in your email setup

Read the account health report for the active company. An AI agent checks
your setup every Monday and lists what needs fixing:
events nothing reacts to, sequences that stopped enrolling, campaign gaps,
forgotten drafts, weak sequence emails, bounce or complaint spikes and failing
sending domains.

Checks run for companies with more than 1,000 active subscribers that sent at
least one email in the last 14 days. Otherwise `eligibility.eligible` is
`false`, and `hasMinimumSubscribers` and `sentRecently` say which condition is
missing.

Requires the `analytics:read` scope.

## Request

```bash theme={null}
curl "https://api.sequenzy.com/api/v1/account-health" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Response fields

<ResponseField name="accountHealth.eligibility" type="object">
  `eligible`, `hasMinimumSubscribers`, `sentRecently`,
  `minimumActiveSubscribers` (1000) and `activityDays` (14).
</ResponseField>

<ResponseField name="accountHealth.settings" type="object">
  `enabled` and `autonomy`. See [Update Account Health Settings](./settings).
</ResponseField>

<ResponseField name="accountHealth.nextRunAt" type="string | null">
  When the next scheduled check runs. `null` when checks are off, the company is
  not eligible, or the scheduled time has passed and the check has not started
  yet.
</ResponseField>

<ResponseField name="accountHealth.latestRun" type="object | null">
  The most recent check: `status` (`queued`, `running`, `completed`, `failed` or
  `skipped`), `summary` (AI-written, `null` when the AI step did not run),
  `stats` (this period against the one before, rates as percentages),
  `insightCount`, `newInsightCount` and `draftsCreated`.
</ResponseField>

<ResponseField name="accountHealth.runInProgress" type="boolean">
  `true` while a check is queued or running. Poll until it is `false`.
</ResponseField>

<ResponseField name="accountHealth.insights" type="array">
  Open and snoozed findings, most severe first. Each has `id`, `detector`,
  `severity` (`high`, `medium`, `low`), `status`, `title`, `detail`,
  `recommendation`, `evidence`, `subjectType`, `subjectId`, `subjectName` and
  `fixAutomationId`, the inactive draft sequence the agent created to fix it.
</ResponseField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "accountHealth": {
      "eligibility": {
        "eligible": true,
        "hasMinimumSubscribers": true,
        "sentRecently": true,
        "minimumActiveSubscribers": 1000,
        "activityDays": 14
      },
      "settings": {
        "enabled": true,
        "autonomy": "draft_fixes"
      },
      "nextRunAt": "2026-10-19T05:00:00.000Z",
      "latestRun": {
        "id": "run_123",
        "trigger": "scheduled",
        "status": "completed",
        "summary": "Trial users get no email when their trial ends. Start there.",
        "insightCount": 2,
        "newInsightCount": 1,
        "draftsCreated": 1
      },
      "runInProgress": false,
      "insights": [
        {
          "id": "ins_123",
          "detector": "unhandled_event",
          "severity": "high",
          "status": "open",
          "title": "Nothing happens after \"trial_ended\"",
          "detail": "312 subscribers triggered \"trial_ended\" in the last 30 days, and no active sequence reacts to it.",
          "recommendation": "Send a trial-ended offer within an hour of the event.",
          "subjectType": "event",
          "subjectId": "trial_ended",
          "fixAutomationId": "seq_456"
        }
      ]
    }
  }
  ```

  ```json 403 theme={null}
  {
    "error": "API key is missing required scope: analytics:read"
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.