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

# Duplicate Popup

> Copy a popup into a new draft

Copy a saved popup into a new draft with its own view and conversion counts.
The original keeps its status and stats, so a live popup carries on showing
while you edit the copy.

Use this to test a new offer or headline against a popup that already performs.

## Request

<ParamField body="name" type="string">
  Name for the copy. Defaults to the original name with ` (copy)` appended.
</ParamField>

```bash theme={null}
curl -X POST "https://api.sequenzy.com/api/v1/popups/pop_123/duplicate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Welcome offer v2" }'
```

Publish the copy when it is ready with
[Update Popup](/api-reference/widgets/update-popup).

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "popup": {
      "id": "pop_456",
      "name": "Welcome offer v2",
      "status": "draft",
      "viewCount": 0,
      "conversionCount": 0,
      "stats": {
        "views": 0,
        "starts": 0,
        "conversions": 0,
        "startRate": null,
        "conversionRate": null,
        "completionRate": null
      }
    },
    "message": "Popup duplicated as a draft with its own stats. Set status to published when the copy is ready to show."
  }
  ```

  ```json 400 theme={null}
  { "error": "Popup name is required." }
  ```

  ```json 401 theme={null}
  {
    "error": "Missing API key. Provide via x-api-key header or Authorization: Bearer <key>"
  }
  ```

  ```json 403 theme={null}
  { "error": "API key is missing required scope: widgets:write" }
  ```

  ```json 404 theme={null}
  { "error": "Popup not found" }
  ```
</ResponseExample>
