GDC Application Programming Interface (API)
The GDC Application Programming Interface (API) is an external facing REST interface for querying and downloading GDC data, and submitting data to the GDC.
The GDC API drives the GDC Data Portal, the GDC Submission Portal, and the GDC Data Transfer Tool (DTT) and is made accessible to external users for programmatic access to the same functionality found through GDC Portals. This includes searching, viewing, submitting and downloading subsets of data files, metadata, and annotations based on specific parameters. The GDC API also provides remote BAM slicing functionality that enables downloading of specific parts of a BAM file instead of the whole file.
Communicating with the GDC API involves making calls to API endpoints that represent specific API functionality:
- status- Get the API status and version information
- projects - Search all data generated by a project
- cases - Find all files related to a specific case, or sample donor
- files - Find all files with specific characteristics such as file_name, md5sum, data_format and others
- annotations - Search annotations added to data after curation
- data - Used to download GDC data
- manifest - Generates manifests for use with GDC Data Transfer Tool
- slicing - Allows remote slicing of BAM format objects
- submission - Returns the available resources at the top level above programs i.e., registered programs
The GDC API uses JSON as its communication format, and standard HTTP methods like GET, PUT, POST and DELETE.