CHORD API

Data types endpoints

Projects

api/projects GET: list of Projects

api/projects/{id} GET: single Project

Datasets

api/datasets GET: list of Datasets

api/datasets/{id} GET: single Dataset

Table ownerships

api/table_ownership GET: list of Table ownerships

api/table_ownership/{id} GET: single Table ownership

Tables

api/tables GET: list of Tables

api/tables/{id} GET: single Table

or

tables GET: list of Tables

tables/{id} GET: single Table

tables/{id}/summary GET: summary about data in the table

tables/{id}/search POST: query data in the table

Schemas for Data types

data-types GET: list of all data types available for ingestion

data-types/{data_type_name} GET: single data type schema

For example: data-types/experiment

data-types/{data_type_name}/schema GET: same as above but just data type schema, without data type id

Private search endpoints

private/search POST: returns phenopackets that fit the conditions, works on all phenopackets in database

private/tables/{id}/search POST: returns phenopackets from a specified table that fit the conditions

Example of POST request to search for all phenopackets that have disease Carcinoma

{
    "data_type": "phenopacket",
    "query": ["#ico", ["#resolve", "diseases", "[item]", "term", "label"], "Carcinoma"]
}

Example of POST request to search for all experiments that have experiments results in VCF format

{
    "data_type": "experiment",
    "query": ["#eq", ["#resolve", "experiment_results", "[item]", "file_format"], "VCF"]
}

Ingest endpoint

private/ingest POST: ingests data to database

Example of POST request to ingest phenopackets file

{
  "table_id": "{table_id}",
  "workflow_id": "phenopackets_json",
  "workflow_params": {
    "phenopacket_json.json_document": "path/phenopackets.json"
  },
  "workflow_outputs": {
    "json_document": "path/path.json"
  }
}

Example of POST request to ingest experiments file

{
  "table_id": "{table_id}",
  "workflow_id": "experiments_json",
  "workflow_params": {
    "experiments_json.json_document": "path/experiments.json"
  },
  "workflow_outputs": {
    "json_document": "path/experiments.json"
  }
}

Example of POST request to ingest mcodepackets file

{
  "table_id": "{table_id}",
  "workflow_id": "mcode_json",
  "workflow_params": {
    "mcode_json.json_document": "path/mcodepackets.json"
  },
  "workflow_outputs": {
    "json_document": "path/mcodepackets.json"
  }
}

Export endpoint

private/export POST: retrieves data from database

Example of POST request to retrieve data formatted in cbioportal format

{
  "format": "cbioportal",
  "object_type": "dataset",
  "object_id": "{dataset_id}",
  "output_path": "{path_to_local_directory_optional}"
}

Workflows endpoints

workflows GET: list of all available workflows

workflows/{slug:workflow_id} GET: single workflow schema

workflows/{slug:workflow_id}.wdl GET: returns a wdl file for a given workflow