Install a new CWL app


This call allows you to upload an app to the Platform, using its Common Workflow Language (CWL) description. The CWL is specified as a JSON object in the request body.{owner}/{project_id}/{app_name}

You can also use this call to copy the CWL description of one app to another app, in the same or a different project. For instance, you may have a project containing command-line tools that you have developed, and specified descriptions of, using the Tool Editor, and a shared project containing final versions of these.

Then, you can periodically update the final version of a tool for your collaborators to use, by copying the CWL from one of the tools in development.


Example request

POST /v2/rfranklin/my-project/my_app HTTP/1.1
X-SBG-Auth-Token: 3259c50e1ac5426ea8f1273259740f74
curl --data-binary "@new-app.json" -s -H "X-SBG-Auth-Token: 6282d5e2121d43e7900e9d52b15845e7" -H "content-type: application/json" -X POST ""

Example Request Body

The body of the request should be a JSON object containing a CWL description of the app. See an example.

The same JSON object will be returned by the call if it is made successfully.

Header Fields

You authentication token.

Path parameters

project_idThe ID of the project you want to install the app in.
ownerThe owner of the project you want to install the app in.
appThe name of your new app.

Query parameters

NameData typeDescription
fieldsstringSelector specifying a subset of fields to include in the response.


See a list of response codes that may be contained in the body of the response.

Example body response

Like GET /apps/{owner}/{project_id}/{app_name} this call returns the full app specification in CWL. This is a large JSON object. See an example.