Technical Documentation
Authentication
To use the Epic Clone REST API, authenticate with your Atlassian account email and an app-specific API token.
Username: Use the email associated with your Atlassian account.
Password (API Token): Obtainable from the app's administration.
Navigate to:
Apps → Manage Apps → Epic Clone on the left sidebar → API token tab
.Note: Tokens are visible only during creation. Copy and store securely.

API token tab

Create new token

Store created token - only displayed during creation
Endpoint URL
The endpoint URL is unique for each instance and must be retrieved from within the app.
Get it from Apps → Manage apps → Epic Clone on the left sidebar → REST API Endpoints tab
.

REST endpoints tab
Request Parameter
The request requires a single parameter: the work item key of the item you want to clone.
The parameter name is issueKey.
Body
The body is optional and can be omitted. Without it, the work item is cloned with a default configuration in the same project.
For advanced cloning configuration, include a body with the following parameters. Attributes not included in the body will not be considered for cloning.
Name | Description | Example |
---|---|---|
cloneToDifferentProject | Clone the item within the same project or to a different project. The value must be true or false. | “cloneToDifferentProject”: true |
targetProjectKey | Project key of the target project, if different from the source project. This is mandatory if cloneToDifferentProject is true and must be a valid project key. | “targetProjectKey”: “TAR” |
cloneChildItems | Set this parameter to false to prevent cloning of child items. If omitted or set to a value other than false, child items will be cloned. | “cloneChildItems”: false |
parentLinks | Select one of the three options for parent links:
| “parentLinks”: “cloneLinkedWorkItems” |
childLinks | Select one of the three options for child links:
| “childLinks”: “recreateInternalLinks” |
cloneParentAttachments | Set to true to clone the attachments of the parent item. The default value is false. | “cloneParentAttachments”: true |
cloneChildItemsAttachments | Set to true to clone the attachments of child items. The default is false. | “cloneChildItemsAttachments”: true |
cloneChildItemsInSourceProject | Set to true to clone all child items within their current project. The default value is false. | “cloneChildItemsInSourceProject”: true |
findInParentDescription | Replace the text in the parent item description with a suitable alternative (e.g., for placeholders). | “findInParentDescription”: “type_of_user” |
replaceWithInParentDescription | Replacement text for the find text in the parent item description. If no text is provided, the find text will be removed. | “replaceWithInParentDescription”: “admin” |
findInChildrenSummaries | Text to replace with something else in the summary of child items. | “findInChildrenSummaries”: “<version>” |
replaceWithInChildrenSummaries | Replacement text for the summary of child items above. If no text is provided, the find text will be removed. | “replaceWithInChildrenSummaries”: “2.0” |
childSummariesPrefix | Prefix to add to child item titles | “childSummariesPrefix”: “PRE - “ |
childSummariesSuffix | Suffix to add to child item titles | “childSummariesSuffix”: “ - SUFFIX” |
Example Body:
{
"cloneToDifferentProject": true,
"targetProjectKey": "<target_project_key>",
"cloneChildItems": true,
"parentLinks": "cloneLinks",
"childLinks": "recreateInternalLinks",
"cloneParentAttachments": true,
"cloneChildItemsAttachments": true,
"cloneChildItemsInSourceProject": false,
"findInParentDescription": "<find_string_in_parent_description>",
"replaceWithInParentDescription": "<replace_string_in_parent_description>",
"findInChildrenSummaries": "<find_string_in_children_summaries>",
"replaceWithInChildrenSummaries": "<replace_string_in_children_summaries>",
"childSummariesPrefix": "<prefix_for_child_titles>",
"childSummariesSuffix": "<suffix_for_child_titles>"
}
Responses
When you call the API, it returns one of the following status codes:
Status Code | Text | Remarks |
---|---|---|
200 |
| The cloning process has been started. Items will be seamlessly copied in the background. |
401 |
| Please verify the provided credentials. Authenticate using your Atlassian account email and the app-specific API token. |
401 |
| The license for the app isn’t valid. Please contact an organisation admin to check the license status of the app. |
400 |
| |
405 |
| Only the POST method is allowed for the Epic Clone API. |
400 |
| |
404 |
| |
401 |
| |
403 |
| Access to the app can either be restricted by project or user group. If you aren’t in a group with access or try to clone in a project where it isn’t permitted, this error is returned. |
403 |
| You lack the create work item permission in the target project. |
400 |
| |
500 |
| Something went wrong within the app. Please try again and contact support if it continues to fail. |