Add an app using raw CWL

This call allows you to add an app using raw CWL.

https://api.sbgenomics.com/v2/apps/{app_id}/raw
https://eu-api.sbgenomics.com/v2/apps/{app_id}/raw

👍

app_ids

Recall from the apps section in 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 field, the API will use the latest app revision.

You can create the {app_short_name} for your app when you upload it. It can be any string of alphanumeric characters, with no spaces. Note that the app's given name (a full human-readable string) is contained in the CWL that you POST.

Request

Example request

POST /v2/apps/RFranklin/my-project/my-app/raw HTTP/1.1
Host: api.sbgenomics.com
X-SBG-Auth-Token: 3259c50e1ac5426ea8f1273259740f74
curl --data-binary '@my-app.json' -s -H "X-SBG-Auth-Token: 7942f56901534434a054dafc3813bc96" -H "content-type: application/json" -X POST "https://api.sbgenomics.com/v2/apps/RFranklin/my-project/my-app/raw"
from sevenbridges import Api

api = Api(url='https://api.sbgenomics.com/v2',
          token='3259c50e1ac5426ea8f1273259740f74')

# send POST request to SB API
new_app = api.apps.install_app(
    id='RFranklin/my-project/my-app',
    raw='... CWL JSON/YAML HERE ...'
)

print(new_app.name, new_app.id)

Header Fields

Name

Description

X-SBG-Auth-Token
required

Your Seven Bridges Platform authentication token.

Content-Type

Depending on the type of file you are uploading:

  • application/json for a JSON file
  • application/yaml for a YAML file

Path parameters

Name

Description

app_id

The ID for the app you are you want to upload. It should reference the project that you want the app to be added to, a short name for the app (containing no non-alphanumeric characters or spaces), and a revision number.

Query parameters

Name

Data type

Description

fields

string

Selector specifying a subset of fields to include in the response.

Request body

The body of the request should be a CWL app description saved as a JSON or YAML file. For a template of this description, try making the call to get raw CWL for an app about an app already in one of your projects.