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

# Resume Sending

> Restore paused sending after fixing the cause of the bounces

Restore company-level sending that was paused by a high permanent-bounce rate.
This is the supported remediation path, not a bypass: it never removes
suppressions and it enforces the same gates as the dashboard's **Resume sending**
button.

Requires the `companies:manage` scope plus owner or admin access to the company.

<Warning>
  Only call this once the cause is actually fixed. `listSanitizationConfirmed`
  is recorded on the account's audit trail as your statement that the source of
  the invalid addresses is corrected and permanent bounces remain suppressed.
</Warning>

Check [Get Sending Status](/api-reference/sending-status/get) first. For a paused
workspace, the request only restores sending when `selfResume.canSelfResume` is
`true`, which requires a `high_hard_bounce_rate` pause, a cleared automated
sender-health review, and no admin block. An already-active workspace succeeds
as an idempotent no-op with `resumed: false`. Any other blocked state needs a
support review, and the error names which gate stopped you.

On success the bounce watermark moves to now - so the rate is recalculated from
later sends - and the service attempts to requeue paused campaigns plus due
sequence steps. If part of that queue handoff is temporarily unavailable, the
request still reports the committed active state and returns recovery guidance
in `message` rather than falsely reporting that the resume failed. Automatic
resume is available a limited number of times before a support review is
required.

## Request

<ParamField body="listSanitizationConfirmed" type="boolean" required>
  Must be `true`. Confirms the source of the invalid addresses is fixed and that
  permanent bounces remain suppressed.
</ParamField>

```bash theme={null}
curl -X POST "https://api.sequenzy.com/api/v1/sending-status/resume" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"listSanitizationConfirmed": true}'
```

## Response fields

<ResponseField name="resumed" type="boolean">
  `true` when this call restored sending. `false` when sending was already
  active.
</ResponseField>

<ResponseField name="status" type="string">
  Sending state after the request. `active` on success.
</ResponseField>

<ResponseField name="message" type="string">
  Confirms the resume outcome. If some parked work could not be requeued, this
  contains the partial-success warning and support guidance.
</ResponseField>

On success, the full [sending status](/api-reference/sending-status/get) payload
is returned alongside these fields. On rejection, the refreshed status is nested
under `details.sendingStatus` so the response can also describe the blocking
gate.

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "resumed": true,
    "message": "Sending resumed. Paused campaigns and due sequence steps have been requeued.",
    "status": "active",
    "pauseReason": null,
    "pauseReasonKind": null,
    "pausedAt": null,
    "selfResume": {
      "canSelfResume": false,
      "supported": false,
      "allowedByAdmin": true,
      "ownerIsTrusted": false,
      "aiReviewStatus": "not_required",
      "aiReviewReason": null,
      "aiReviewStartedAt": null,
      "aiReviewedAt": null,
      "unavailableReason": null
    },
    "metricsWindow": {
      "kind": "all_time_since_reset",
      "expiresAt": null,
      "bounceResetAt": "2026-08-07T10:03:12Z",
      "complaintResetAt": null,
      "description": "Sender-health enforcement uses all-time totals from the reset watermark, not a rolling window."
    }
  }
  ```

  ```json 400 theme={null}
  {
    "success": false,
    "code": "SENDING_RESUME_BLOCKED",
    "error": "Set listSanitizationConfirmed to true to confirm the bounce source is fixed and permanent bounces stay suppressed.",
    "title": "Sending could not be resumed",
    "docsUrl": "https://docs.sequenzy.com/guides/sender-health",
    "details": { "reason": "confirmation_required" }
  }
  ```

  ```json 403 theme={null}
  {
    "success": false,
    "code": "SENDING_RESUME_BLOCKED",
    "error": "Sending is still under review.",
    "title": "Sending could not be resumed",
    "docsUrl": "https://docs.sequenzy.com/guides/sender-health",
    "details": { "reason": "waiting_for_ai_review" }
  }
  ```

  ```json 401 theme={null}
  {
    "success": false,
    "error": "Unauthorized"
  }
  ```
</ResponseExample>
