/apps/{app_id}/actions/copy
For general information on the API, including formatting, parameters, and pagination, please see the API Overview.
This call copies the specified app to the specified project. The app should be one in a project that you can access; this could be an app that has been uploaded to CAVATICA by a project member, or a publicly available app that has been copied to the project.
https://cavatica-api.sbgenomics.com/v2/apps/{app_id}/actions/copy
app_ids
Recall from the API Overview that the
app_id
has the form{project_owner}/{project}/{app_short_name}/{revision_number}
Note that if you omit the
revision_number
, the API will use the latest app revision.You can get the
app_id
for an app by making the call to list all apps available to you
Request
Example request
POST /v2/apps/RFranklin/my-project/bamtools-merge-2-4-0/0/actions/copy HTTP/1.1
Host: cavatica-api.sbgenomics.com
X-SBG-Auth-Token: 3259c50e1ac5426ea8f1273259740f74
curl --data '{"project": "RFranklin/my-project", "name": "new app name"}' -s -H "X-SBG-Auth-Token: 7942f56901534434a054dafc3813bc96" -H "content-type: application/json" -X POST "https://cavatica-api.sbgenomics.com/v2/apps/RFranklin/sandbox/delly2-workflow/actions/copy"
Header Fields
Name | Description |
---|---|
X-SBG-Auth-Token required | Your CAVATICA authentication token. |
Path parameters
Name | Description |
---|---|
app_id | The ID for the app you are querying. It can be obtained by making the call to list all apps available to you. |
Query parameters
Name | Data type | Description |
---|---|---|
fields | string | Selector specifying a subset of fields to include in the response. |
Request body
The body should contain the following key-value pairs:
Key | Datatype of value | Description of value |
---|---|---|
"project" required | string | The name of the project you want to copy the app to |
"name" | string | The new name the app will have in the target project. If its name will not change, omit this key. |
"strategy" | string | The method for copying the app (also see the diagram below).clone - copy all revisions and continue getting updates form the original app (default method when the key is omitted)direct - copy only the latest revision and get the updates from this point on* transient - copy only the latest revision and continue getting updates from the original app. |
Methods for copying an app
Example request body
{
"project": "RFranklin/my-project",
"name": "new app name"
}
Response
See a list of CAVATICA-specific response codes that may be contained in the body of the response.
Example response body
This call returns the full CWL description of the copied app. This is typically a lengthy JSON object; for conciseness, we have not included it here, but made it available on this page.