{"_id":"5774f3ddece8a00e00a1592c","parentDoc":null,"user":"575e85ac41c8ba0e00259a44","githubsync":"","__v":7,"category":{"_id":"5773df36904b0c0e00ef05ff","version":"5773dcfc255e820e00e1cd50","__v":0,"project":"5773dcfc255e820e00e1cd4d","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-06-29T14:46:14.277Z","from_sync":false,"order":12,"slug":"api","title":"Cavatica API"},"project":"5773dcfc255e820e00e1cd4d","version":{"_id":"5773dcfc255e820e00e1cd50","__v":26,"project":"5773dcfc255e820e00e1cd4d","createdAt":"2016-06-29T14:36:44.812Z","releaseDate":"2016-06-29T14:36:44.812Z","categories":["5773dcfc255e820e00e1cd51","5773df36904b0c0e00ef05ff","577baf92451b1e0e006075ac","577bb183b7ee4a0e007c4e8d","577ce77a1cf3cb0e0048e5ea","577d11865fd4de0e00cc3dab","578e62792c3c790e00937597","578f4fd98335ca0e006d5c84","578f5e5c3d04570e00976ebb","57bc35f7531e000e0075d118","57f801b3760f3a1700219ebb","5804d55d1642890f00803623","581c8d55c0dc651900aa9350","589dcf8ba8c63b3b00c3704f","594cebadd8a2f7001b0b53b2","59a562f46a5d8c00238e309a","5a2aa096e25025003c582b58","5a2e79566c771d003ca0acd4","5a3a5166142db90026f24007","5a3a52b5bcc254001c4bf152","5a3a574a2be213002675c6d2","5a3a66bb2be213002675cb73","5a3a6e4854faf60030b63159","5c8a68278e883901341de571","5cb9971e57bf020024523c7b","5cbf1683e2a36d01d5012ecd"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"metadata":{"title":"","description":"","image":[]},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-06-30T10:26:37.932Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"examples":{"codes":[]},"method":"post","results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":61,"body":"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.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"https://cavatica-api.sbgenomics.com/v2/apps/{app_id}/actions/copy\",\n      \"language\": \"text\",\n      \"name\": \"API path\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"success\",\n  \"body\": \"Recall from the [API Overview](doc:the-api#section-identifying-projects-users-apps-files-tasks-and-inputs) that the `app_id` has the form `{project_owner}/{project}/{app_short_name}/{revision_number}`\\n\\nNote that if you omit the `revision_number`, the API will use the latest app revision.\\n\\nYou can get the `app_id` for an app by making the call to [list all apps available to you](doc:list-all-apps-available-to-you)\",\n  \"title\": \"app_ids\"\n}\n[/block]\n##Request\n\n###Example request\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"POST /v2/apps/RFranklin/my-project/bamtools-merge-2-4-0/0/actions/copy HTTP/1.1\\nHost: cavatica-api.sbgenomics.com\\nX-SBG-Auth-Token: 3259c50e1ac5426ea8f1273259740f74\\n\",\n      \"language\": \"http\",\n      \"name\": null\n    },\n    {\n      \"code\": \"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\\\"\",\n      \"language\": \"curl\",\n      \"name\": \"cURL\"\n    }\n  ],\n  \"sidebar\": true\n}\n[/block]\n###Header Fields\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Name\",\n    \"h-1\": \"Description\",\n    \"0-0\": \"`X-SBG-Auth-Token`\\n_required_\",\n    \"0-1\": \"Your Cavatica [authentication token](doc:get-your-authentication-token).\",\n    \"h-2\": \"\"\n  },\n  \"cols\": 2,\n  \"rows\": 1\n}\n[/block]\n###Path parameters\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"`app_id`\",\n    \"h-0\": \"Name\",\n    \"h-1\": \"Description\",\n    \"0-1\": \"The ID for the app you are querying. It can be obtained by making the call to [list all apps available to you](doc:list-all-apps-available-to-you).\"\n  },\n  \"cols\": 2,\n  \"rows\": 1\n}\n[/block]\n###Query parameters\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Name\",\n    \"h-1\": \"Data type\",\n    \"h-2\": \"Description\",\n    \"0-0\": \"`fields`\",\n    \"0-1\": \"string\",\n    \"0-2\": \"Selector specifying a subset of fields to include in the response.\"\n  },\n  \"cols\": 3,\n  \"rows\": 1\n}\n[/block]\n##Request body\nThe body should contain the following key-value pairs:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Key\",\n    \"h-1\": \"Datatype of value\",\n    \"h-2\": \"Description of value\",\n    \"0-0\": \"`\\\"project\\\"`\\n_required_\",\n    \"0-1\": \"string\",\n    \"1-0\": \"`\\\"name\\\"`\",\n    \"1-1\": \"string\",\n    \"0-2\": \"The name of the project you want to copy the app to\",\n    \"1-2\": \"The new name the app will have in the target project. If its name will not change, omit this key.\",\n    \"2-0\": \"`\\\"strategy\\\"`\",\n    \"2-1\": \"string\",\n    \"2-2\": \"The method for copying the app (also see the diagram below). \\n\\n* `clone` - copy all revisions and continue getting updates form the original app (default method when the key is omitted)\\n* `direct` - copy only the latest revision and get the updates from this point on\\n* `transient` - copy only the latest revision and continue getting updates from the original app.\"\n  },\n  \"cols\": 3,\n  \"rows\": 3\n}\n[/block]\n###Methods for copying an app\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/68ed147-strategy-app-copy.jpg\",\n        \"strategy-app-copy.jpg\",\n        653,\n        997,\n        \"#e5e5e5\"\n      ]\n    }\n  ]\n}\n[/block]\n###Example request body\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"project\\\": \\\"RFranklin/my-project\\\", \\n  \\\"name\\\": \\\"new app name\\\"\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\n##Response\n\n[See a list of Cavatica-specific response codes that may be contained in the body of the response.](doc:api-status-codes) \n\n###Example response body\nThis 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](http://docs.cancergenomicscloud.org/v1.0/page/example-response-body-for-post-appsapp_idactionscopy).\n\n<div align=\"right\"><a href=\"#top\">top</a></div>\n\n<hr>","excerpt":"/apps/{app_id}/actions/copy\n\nFor general information on the API, including formatting, parameters, and pagination, please see the [API Overview](the-api).","slug":"copy-an-app","type":"endpoint","title":"Copy an app"}

postCopy an app

/apps/{app_id}/actions/copy For general information on the API, including formatting, parameters, and pagination, please see the [API Overview](the-api).

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. [block:code] { "codes": [ { "code": "https://cavatica-api.sbgenomics.com/v2/apps/{app_id}/actions/copy", "language": "text", "name": "API path" } ] } [/block] [block:callout] { "type": "success", "body": "Recall from the [API Overview](doc:the-api#section-identifying-projects-users-apps-files-tasks-and-inputs) that the `app_id` has the form `{project_owner}/{project}/{app_short_name}/{revision_number}`\n\nNote that if you omit the `revision_number`, the API will use the latest app revision.\n\nYou can get the `app_id` for an app by making the call to [list all apps available to you](doc:list-all-apps-available-to-you)", "title": "app_ids" } [/block] ##Request ###Example request [block:code] { "codes": [ { "code": "POST /v2/apps/RFranklin/my-project/bamtools-merge-2-4-0/0/actions/copy HTTP/1.1\nHost: cavatica-api.sbgenomics.com\nX-SBG-Auth-Token: 3259c50e1ac5426ea8f1273259740f74\n", "language": "http", "name": null }, { "code": "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\"", "language": "curl", "name": "cURL" } ], "sidebar": true } [/block] ###Header Fields [block:parameters] { "data": { "h-0": "Name", "h-1": "Description", "0-0": "`X-SBG-Auth-Token`\n_required_", "0-1": "Your Cavatica [authentication token](doc:get-your-authentication-token).", "h-2": "" }, "cols": 2, "rows": 1 } [/block] ###Path parameters [block:parameters] { "data": { "0-0": "`app_id`", "h-0": "Name", "h-1": "Description", "0-1": "The ID for the app you are querying. It can be obtained by making the call to [list all apps available to you](doc:list-all-apps-available-to-you)." }, "cols": 2, "rows": 1 } [/block] ###Query parameters [block:parameters] { "data": { "h-0": "Name", "h-1": "Data type", "h-2": "Description", "0-0": "`fields`", "0-1": "string", "0-2": "Selector specifying a subset of fields to include in the response." }, "cols": 3, "rows": 1 } [/block] ##Request body The body should contain the following key-value pairs: [block:parameters] { "data": { "h-0": "Key", "h-1": "Datatype of value", "h-2": "Description of value", "0-0": "`\"project\"`\n_required_", "0-1": "string", "1-0": "`\"name\"`", "1-1": "string", "0-2": "The name of the project you want to copy the app to", "1-2": "The new name the app will have in the target project. If its name will not change, omit this key.", "2-0": "`\"strategy\"`", "2-1": "string", "2-2": "The method for copying the app (also see the diagram below). \n\n* `clone` - copy all revisions and continue getting updates form the original app (default method when the key is omitted)\n* `direct` - copy only the latest revision and get the updates from this point on\n* `transient` - copy only the latest revision and continue getting updates from the original app." }, "cols": 3, "rows": 3 } [/block] ###Methods for copying an app [block:image] { "images": [ { "image": [ "https://files.readme.io/68ed147-strategy-app-copy.jpg", "strategy-app-copy.jpg", 653, 997, "#e5e5e5" ] } ] } [/block] ###Example request body [block:code] { "codes": [ { "code": "{\n \"project\": \"RFranklin/my-project\", \n \"name\": \"new app name\"\n}", "language": "json" } ] } [/block] ##Response [See a list of Cavatica-specific response codes that may be contained in the body of the response.](doc:api-status-codes) ###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](http://docs.cancergenomicscloud.org/v1.0/page/example-response-body-for-post-appsapp_idactionscopy). <div align="right"><a href="#top">top</a></div> <hr>