---
title: "POST /api/automation/workflows/{workflow_id}/duplicate/async/"
method: POST
path: "/api/automation/workflows/{workflow_id}/duplicate/async/"
tags: ["Automation workflows"]
---

# POST /api/automation/workflows/{workflow_id}/duplicate/async/

`POST /api/automation/workflows/{workflow_id}/duplicate/async/`

Start a job to duplicate the workflow with the provided `workflow_id` parameter if the authorized user has access to the automation's workspace.

## Path parameters

- `workflow_id` integer, required

## Headers

- `ClientSessionId` string, uuid

## Response `202`

- DuplicateAutomationWorkflowJobTypeResponse
  - `id` integer, required
  - `type` string, required — The type of the job.
  - `progress_percentage` integer, required — A percentage indicating how far along the job is. 100 means that it's finished.
  - `state` string, required — Indicates the state of the import job.
  - `human_readable_error` string — A human readable error message indicating what went wrong.
  - `error_code` string — A machine readable error code indicating why the job failed.
  - `created_on` string, date-time, required
  - `updated_on` string, date-time, required
  - `original_automation_workflow` AutomationWorkflow, required
    - `id` integer, required
    - `name` string, required
    - `order` integer, required — Lowest first.
    - `automation_id` integer, required
    - `allow_test_run_until` string, date-time, nullable
    - `simulate_until_node_id` integer, nullable, required — When set, upon the next workflow run, simulates the dispatch of the workflow until this node and updates the sample_data of the node's service.
    - `published_on` string, required
    - `state` string, required
    - `graph` unknown
    - `notification_recipient_ids` integer[], required
    - `immediate_dispatch` boolean, required
  - `duplicated_automation_workflow` AutomationWorkflow, required
    - `id` integer, required
    - `name` string, required
    - `order` integer, required — Lowest first.
    - `automation_id` integer, required
    - `allow_test_run_until` string, date-time, nullable
    - `simulate_until_node_id` integer, nullable, required — When set, upon the next workflow run, simulates the dispatch of the workflow until this node and updates the sample_data of the node's service.
    - `published_on` string, required
    - `state` string, required
    - `graph` unknown
    - `notification_recipient_ids` integer[], required
    - `immediate_dispatch` boolean, required

## Other responses

- `400`
- `404`

## Changes

- **2026-08-12** `ea4a3480f8d3` — 1 info
  - added the optional property `error_code` to the response with the `202` status

[Change history](https://skmtc.dev/baserow/apis/baserow-api-spec/changes/api/automation/workflows/:workflow_id/duplicate/async/post.md)

---

[API](https://skmtc.dev/baserow/apis/baserow-api-spec.md) · [All operations](https://skmtc.dev/baserow/apis/baserow-api-spec/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/baserow/baserow-api-spec/revisions/f3396317d932/schema)
