POST /projects/{project_gid}/duplicate

Required scope: projects:write

Creates and returns a job that will asynchronously handle the duplication.

Servers

Path parameters

Name Type Required Description
project_gid String Yes

Globally unique identifier for the project.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Query parameters

Name Type Required Description
opt_pretty Boolean No

Provides “pretty” output. Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging.

opt_fields[] Array No

This endpoint returns a resource which excludes some properties by default. To include those optional properties, set this query parameter to a comma-separated list of the properties you wish to include.

Request body fields

Name Type Required Description
data Object No
data.name String Yes

The name of the new project.

data.team String No

Sets the team of the new project. If team is not defined, the new project will be in the same team as the the original project.

data.include String No

A comma-separated list of elements to include when duplicating a project. Some elements are automatically included and cannot be excluded, while others are optional and must be explicitly specified in this field.

Auto-included fields (non-configurable)

  • Tasks
  • Project Views (i.e., tabs in a project such as List, Board, Dashboard, etc.)
  • Rules

Note: The Owner of the Rules copied to the new project is the user who performs the API call. If the duplication is performed using a Service Account, note that Service Accounts cannot access the UI to modify or pause Rules. To prevent unwanted automation behavior, consider pausing Rules in the source project before duplication — their active/paused state is preserved in the new project.

Optional fields (configurable)

  • allocations
  • forms
  • members
  • notes
  • permissions
  • task_assignee
  • task_attachments
  • task_dates
  • task_dependencies
  • task_followers
  • task_notes
  • task_projects
  • task_subtasks
  • task_tags
  • task_templates
  • task_type_default
data.schedule_dates Object No

A dictionary of options to auto-shift dates. task_dates must be included to use this option. Requires should_skip_weekends and either start_on or due_on, but not both.

data.schedule_dates.due_on String No

Sets the last due date in the duplicated project to the given date. The rest of the due dates will be offset by the same amount as the due dates in the original project.

data.schedule_dates.should_skip_weekends Boolean No

Required: Determines if the auto-shifted dates should skip weekends.

data.schedule_dates.start_on String No

Sets the first start date in the duplicated project to the given date. The rest of the start dates will be offset by the same amount as the start dates in the original project.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.