post https://cgc-api.sbgenomics.com/v2
/projects
This call creates a new project.
https://cgc-api.sbgenomics.com/v2/projects
Request
Example request
POST /v2/projects HTTP/1.1
Host: cgc-api.sbgenomics.com
X-SBG-Auth-Token: 3210a98c1db9318fa9d9273156740f74
content-type: application/json
curl --data '{"name": "My New Project", "description": "A project for testing my apps", "billing_group": "ec1dc1e3-12a3-4b56-789c-e3f2dca0c6f7", "tags": ["tcga"]}' -s -H "X-SBG-Auth-Token: 3210a98c1db9318fa9d9273156740f74" -H "content-type: application/json" -X POST "https://cgc-api.sbgenomics.com/v2/projects"
Header Fields
Name | Description |
---|---|
X-SBG-Auth-Token required | Your CGC authentication token. |
Query parameters
Name | Data type | Description |
---|---|---|
fields | string | Selector specifying a subset of fields to include in the response. |
Request body
In the body, you should enter a list of key-value pairs. The keys, and the values they take, are described in the following table.
Key | Datatype of value | Description of value |
---|---|---|
name required | string | The name of the project you are creating. |
billing_group required | string | The ID of the billing group for the project. List all billing groups to find your billing group ID. |
use_memoization | boolean | Set to false by default. Set to true to enable memoization. |
intermediate_files | dictionary | Specifies intermediate files retention period. To do this, specify a dictionary with the following format: { "retention": "LIMITED", "duration": 24 } The minimum value is 1 h. The maximum value is 120 h and the default value is 24 h. |
description | string | A description of the project. |
tags | string, enclosed in '[ ] | Optionally, enter the tag "tcga" if you want to make a Controlled Data project.If you omit the tags key, the project will be an Open Data project. |
settings | object | This dictionary contains various project settings - see rows below for further information. |
locked | Boolean | This field can be true or false .Set this field to true to lock down a project. Locking down a project prevents any CGC team member from viewing any information about the task. |
controlled | Boolean | Set to true to indicate a Controlled Data project. Learn more about Controlled Data projects. |
use_interruptible_instances | Boolean | This field can be true or false to enable or disable the use of spot/preemptible instances. |
use_elastic_disk | Boolean | Set to true to enable Elastic disk. |
allow_network_access | Boolean | Allows you to control network access for executions within the project. |
Example request body
{
"name": "My New Project",
"description": "A project for testing my apps",
"billing_group": "ec1dc1e3-12a3-4b56-789c-e3f2dca0c6f7",
"tags": ["tcga"],
"settings":{
"locked": true,
"use_interruptible_instances": false,
"use_memoization": true,
"allow_network_access": true,
"intermediate_files": {
"retention":"LIMITED",
"duration":24
},
"controlled": true
}
}
Response
See a list of CGC-specific response codes that may be contained in the body of the response.
Example response body
{
"href": "https://cgc-api.sbgenomics.com/v2/projects/RFranklin/my-new-project",
"id": "RFranklin/my-new-project",
"name": "My New Project",
"type": "v2",
"description": "A project for testing my apps",
"tags": ["tcga"],
"settings":{
"locked": true,
"use_interruptible_instances": false,
"controlled":true,
"use_memoization": true,
"allow_network_access": true,
"intermediate_files": {
"retention":"LIMITED",
"duration":24
}
},
"billing_group": "ec1dc1e3-12a3-4b56-789c-e3f2dca0c6f7"
}
Interpreting the response body
- The field
locked
is set totrue
, which means you've created a locked project. Locking down a project prevents any CGC team member from viewing any information about the task. - The field
controlled
is set totrue
, which indicates you've created a Controlled Data project.