---
title: "Duplicate sequence"
method: POST
path: "/sequences/{sequenceId}/duplicate"
tags: ["Sequences"]
---

# Duplicate sequence

`POST /sequences/{sequenceId}/duplicate`

Creates an independent draft copy of the sequence graph, email templates, and sequence A/B tests.

## Path parameters

- `sequenceId` string, required

## Request body

- object
  - `name` string — Optional name for the copy.

## Response `200`

Sequence duplicated 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
  - `nodes` SequenceNode[]
    - `id` string
    - `automationId` string
    - `nodeType` string
    - `config` object
    - `updatedAt` string, date-time — Node concurrency timestamp. Return this as expectedUpdatedAt when patching the node.
    - `updateHints` object — Type-aware guidance for safely patching this node.
      - `tool` string
      - `editableFields` string[]
      - `managedFields` string[]
      - `notes` string[]
      - `expectedUpdatedAt` string, date-time — Ready-to-return optimistic-concurrency token for update_sequence_node or update_sequence_nodes.
    - `position` SequencePosition
      - `x` number
      - `y` number
  - `edges` SequenceGraphEdgeInput[]
    - `sourceNodeId` string, required — Existing source node ID.
    - `targetNodeId` string, required — Existing target node ID.
    - `condition` object, nullable — Exact branch-lane condition for this edge. Omit or set null for an unconditional edge.

## Other responses

- `400` — Linked email or A/B test content is missing
- `404` — 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)
