---
title: "Duplicate Trajectory"
method: POST
path: "/v1/trajectories/{trajectory_id}/duplicate"
tags: ["trajectories"]
---

# Duplicate Trajectory

`POST /v1/trajectories/{trajectory_id}/duplicate`

## Request

- Base URL: `https://api.cyberdesk.io`
- URL: `https://api.cyberdesk.io/v1/trajectories/{trajectory_id}/duplicate`
- Auth: HTTP bearer

Duplicate a trajectory with fresh copies of all images.

Creates a new trajectory with the same data as the source, but with
all images copied to new paths in storage (copy-on-write semantics).
The new trajectory starts unapproved and gets a name like "Original Name (Copy)".

## Path parameters

- `trajectory_id` string, uuid, required

## Headers

- `Idempotency-Key` string

## Response `201`

Successful Response

- TrajectoryResponse: Trajectory response schema
  - `name` string, nullable
  - `description` string, nullable
  - `workflow_id` string, uuid, required
  - `run_id` string, uuid, nullable: Optional run that created this trajectory
  - `trajectory_data` object[], required
  - `dimensions` object, required: Display dimensions when trajectory was recorded
  - `original_input_values` object, nullable: Original input values used when trajectory was created
  - `is_approved` boolean, required
  - `has_been_approved` boolean, required
  - `is_generated` boolean, required
  - `is_main` boolean, required
  - `id` string, uuid, required
  - `user_id` string, uuid, nullable
  - `organization_id` string, nullable
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/cyberdesk-hq/apis/cyberdesk-cloud.md) - [All operations](https://skmtc.dev/cyberdesk-hq/apis/cyberdesk-cloud/llms.txt) - [OpenAPI document](https://skmtc.dev/cyberdesk-hq/apis/cyberdesk-cloud/revisions/5579352ae05e?raw)
