---
title: "Duplicate Funnel Asynchronously"
method: POST
path: "/funnels/{funnel_id}/clone_actions"
tags: ["Funnels::CloneAction"]
---

# Duplicate Funnel Asynchronously

`POST /funnels/{funnel_id}/clone_actions`

## Request

- Base URL: `https://myworkspace.myclickfunnels.com/api/v2`
- URL: `https://myworkspace.myclickfunnels.com/api/v2/funnels/{funnel_id}/clone_actions`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://accounts.myclickfunnels.com/oauth/authorize`
    - Token URL: `https://accounts.myclickfunnels.com/oauth/token`
- TypeScript: <https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/docs/funnels/:funnel_id/clone_actions/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a durable asynchronous receipt for a new same-workspace copy of the source funnel. Send no request body. Every accepted request creates a distinct copy; polling or retry delivery of the same action never creates another copy.

The copy keeps the source site and domain, receives a localized generated name and path, starts in test mode with its workflow disabled, and has independent pages and steps. Product and automation links are retained. Tags, history, and share links are not copied. Funnels with external SDK pages cannot be duplicated.

Poll `GET /funnels/clone_actions/{id}` until `status` is `completed` or `failed`, then fetch `cloned_funnel_id` with the Fetch Funnel endpoint.

## Path parameters

- `funnel_id` string, required

## Response `201`

Clone action accepted

- FunnelsCloneActionAttributes: A durable receipt for an asynchronous same-workspace funnel duplication. Poll until status is completed or failed.
  - `id` integer: Clone action ID
  - `public_id` string: Clone action public ID
  - `workspace_id` integer: ID of the source and destination workspace
  - `funnel_id` integer: ID of the source funnel
  - `status` 'queued' | 'processing' | 'completed' | 'failed': Current state of the asynchronous duplication
  - `cloned_funnel_id` integer, nullable: ID of the new funnel after successful completion; otherwise null
  - `error_code` 'clone_failed' | 'null', nullable: clone_failed when background retries are exhausted; otherwise null

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden because the token lacks funnels write scope or access to the source workspace
- `404`: Not Found
- `409`: Conflict
- `422`: Unprocessable Entity

## Changes

- **2026-11-03** `511d88b30aea`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/changes/funnels/:funnel_id/clone_actions/post.md)

---

[API](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api.md) - [All operations](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/llms.txt) - [OpenAPI document](https://skmtc.dev/myclickfunnels/apis/clickfunnels-api/revisions/511d88b30aea?raw)
