---
title: "Restore archived sequence"
method: POST
path: "/sequences/{sequenceId}/unarchive"
tags: ["Sequences"]
---

# Restore archived sequence

`POST /sequences/{sequenceId}/unarchive`

Restores an archived sequence as a disabled draft for review.

## Path parameters

- `sequenceId` string, required

## Response `200`

Sequence restored successfully

- object
  - `success` boolean
  - `sequence` SequenceSummary
    - `id` string
    - `name` string
    - `description` string, nullable
    - `userCancellable` boolean
    - `labels` string[]
    - `labelIds` string[]
    - `status` 'draft' | 'active' | 'paused' | 'archived' — Stored lifecycle status. Do not read literally: a sequence can be active while enrollmentPaused blocks new subscribers. Branch on effectiveStatus instead.
    - `enrollmentPaused` boolean — Whether new enrollments are paused while current recipients continue.
    - `effectiveStatus` 'draft' | 'live' | 'enrollment_paused' | 'paused' | 'archived' — Resolved run state, and the single field to branch on. live accepts new subscribers and advances existing recipients; enrollment_paused advances existing recipients only; draft, paused, and archived do neither.
    - `acceptsNewEnrollments` boolean — Whether new subscribers can enter the sequence right now.
    - `processesExistingEnrollments` boolean — Whether subscribers already inside the sequence keep advancing and receiving steps.
    - `effectiveStatusSummary` string — One plain-language sentence describing the run state, safe to show a user verbatim.
    - `pauseReason` string, nullable
    - `pauseSource` string, nullable
    - `pausedByUserId` string, nullable
    - `pausedByUser` object, nullable
      - `id` string
      - `name` string
      - `email` string, email
    - `pausedAt` string, date-time, nullable
    - `trigger` string, nullable
    - `triggerConfig` object, nullable
    - `sendingWindow` SequenceSendingWindow — Optional local-time sending window applied to every email step in a sequence. Email steps that become due outside the window wait until the next allowed local time.
      - `enabled` boolean
      - `timezone` string — IANA timezone for the window.
      - `startTime` string — Earliest local send time in 24-hour HH:mm format.
      - `endTime` string — Latest local send cutoff in 24-hour HH:mm format. Must be later than startTime.
      - `days` string[] — Allowed local days. Omit days when creating or updating to allow every day.
    - `bccEmails` string[], nullable — Email addresses blind-copied on every email this sequence sends.
    - `senderProfileId` string, nullable
    - `fromName` string, nullable
    - `fromEmail` string, email, nullable
    - `replyProfileId` string, nullable
    - `replyToName` string, nullable
    - `replyToEmail` string, email, nullable
    - `createdAt` string, date-time
    - `updatedAt` string, date-time

## Other responses

- `404` — Archived sequence not found

---

[API](https://skmtc.net/sequenzy/apis/sequenzy-api.md) · [All operations](https://skmtc.net/sequenzy/apis/sequenzy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sequenzy/sequenzy-api/versions/af1cf9620482/schema)
