---
title: "Duplicate Sequence"
method: POST
path: "/api/sequences/{sequence_id}/duplicate"
tags: ["sequences"]
---

# Duplicate Sequence

`POST /api/sequences/{sequence_id}/duplicate`

## Request

- Base URL: `https://platform.verbiflow.com/api/bridge`
- URL: `https://platform.verbiflow.com/api/bridge/api/sequences/{sequence_id}/duplicate`
- Auth: one of:
  - HTTP bearer and API key in header `x-flage-org-id`
  - HTTP bearer and API key in header `x-flage-org-slug`

## Path parameters

- `sequence_id` string, required

## Request body

- DuplicateSequenceRequest
  - `idempotency_key` string, required

## Response `201`

Successful Response

- SequenceSummaryPayload: Compact campaign identity, lifecycle, ownership, and revision summary.
  - `assigned_to` WorkspaceMemberPayload[], required: Workspace members assigned to the campaign.
    - `avatar_url` string, nullable: Optional profile-image URL for the workspace member.
    - `email` string, required: Workspace email address of the member.
    - `id` string, required: Stable workspace member id.
    - `name` string, required: Display name of the workspace member.
  - `assignments_version` integer: Monotonic campaign-assignment version.
  - `attempted_count` integer, nullable: Provider send attempts, including confirmed sends and terminal failures.
  - `authoring_receipt` CampaignAuthoringReceipt: Starter provenance and durable copy-job linkage; later fields appear as authoring progresses.
    - `brief` string, nullable: Campaign brief, or null when none was supplied.
    - `channel_plan` 'email_only' | 'linkedin_only' | 'email_linkedin': Channels selected for the starter.
    - `copy_artifact_id` string, nullable: Immutable copy output artifact identity.
    - `copy_authoring_request_digest` string, nullable: Digest of persisted authoring intent.
    - `copy_bindings` CampaignCopyBindingReceipt[]: Prepared artifact message to campaign variant mappings.
      - `campaign_variant_id` string: Campaign action variant identity.
      - `message_id` string: Copy-artifact message identity.
      - `node_id` string: Campaign action node identity.
    - `copy_generation` 'neutral_template' | 'canonical_copy_job_prepared' | 'canonical_copy_job': Neutral template, persisted generation intent, or admitted copy job.
    - `copy_job_id` string, nullable: Durable copy job identity.
    - `copy_job_status` 'queued' | 'running' | 'blocked' | 'completed' | 'failed': Copy job status at the time this receipt was persisted; query the job for current state.
    - `copy_policy_digest` string: Digest of the applied policy.
    - `copy_policy_version` string: Applied copy policy revision.
    - `copy_request_digest` string, nullable: Digest of admitted generation request.
    - `copy_topology_digest` string, nullable: Digest of action topology used by prepared copy.
    - `generate_copy` boolean: Whether this starter requests canonical copy authoring.
    - `mode` 'starter': Starter-template authoring mode.
    - `retry_of_job_id` string, nullable: Failed predecessor job when explicitly retried.
    - `template_digest` string: SHA-256 of the exact starter steps.
    - `template_version` string: Starter template revision.
    - `version` integer: Receipt format version.
  - `bounce_rate` number, nullable: Terminal hard bounces divided by eligible sent emails.
  - `click_rate` number, nullable: Eligible email clicks divided by eligible sent emails.
  - `created_at` string, date-time, required: Time when the campaign was created.
  - `enrolled_count` integer, nullable: People admitted to campaign runtime.
  - `failed_count` integer, nullable: Latest unrecovered terminal send failures.
  - `failure_rate` number, nullable: Terminal failures divided by attempted actions.
  - `has_published_revision` boolean: Whether the campaign has an immutable published revision.
  - `is_archived` boolean: Whether the campaign is archived.
  - `open_rate` number, nullable: Eligible email opens divided by eligible sent emails.
  - `operational_state` 'inactive' | 'active' | 'paused', required: Current campaign lifecycle state.
  - `reply_rate` number, nullable: Eligible replies divided by eligible sent actions.
  - `sent_count` integer, nullable: Provider-confirmed outbound actions.
  - `sequence_id` string, required: Stable campaign id.
  - `sequence_name` string, required: Human-readable campaign name.
  - `source_registry_version` integer: Monotonic operational source-registry version.
  - `updated_at` string, date-time, required: Time when the campaign last changed.
  - `validation_error_count` integer: Number of publication-blocking validation errors on the current draft.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract.md) - [All operations](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract/llms.txt) - [OpenAPI document](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract/revisions/c80e903ef8f3?raw)
