Skip to main content

Data Repository API

Project description

This document defines the REST API for Data Repository. Status: design in progress There are four top-level endpoints (besides some used by swagger): * /swagger-ui.html - generated by swagger: swagger API page that provides this documentation and a live UI for submitting REST requests * /status - provides the operational status of the service * /api - is the authenticated and authorized Data Repository API * /ga4gh/drs/v1 - is a transcription of the Data Repository Service API The overall API (/api) currently supports two interfaces: * Repository - a general and default interface for initial setup, managing ingest and repository metadata * Resource - an interface for managing billing accounts and resources The API endpoints are organized by interface. Each interface is separately versioned. ## Notes on Naming All of the reference items are suffixed with "Model". Those names are used as the class names in the generated Java code. It is helpful to distinguish these model classes from other related classes, like the DAO classes and the operation classes. ## Editing and debugging I have found it best to edit this file directly to make changes and then use the swagger-editor to validate. The errors out of swagger-codegen are not that helpful. In the swagger-editor, it gives you nice errors and links to the place in the YAML where the errors are. But… the swagger-editor has been a bit of a pain for me to run. I tried the online website and was not able to load my YAML. Instead, I run it locally in a docker container, like this: ``` docker pull swaggerapi/swagger-editor docker run -p 9090:8080 swaggerapi/swagger-editor ``` Then navigate to localhost:9090 in your browser. I have not been able to get the file upload to work. It is a bit of a PITA, but I copy-paste the source code, replacing what is in the editor. Then make any fixes. Then copy-paste the resulting, valid file back into our source code. Not elegant, but easier than playing detective with the swagger-codegen errors. This might be something about my browser or environment, so give it a try yourself and see how it goes. ## Merging the DRS standard swagger into this swagger ## The merging is done in three sections: 1. Merging the security definitions into our security definitions 2. This section of paths. We make all paths explicit (prefixed with /ga4gh/drs/v1) All standard DRS definitions and parameters are prefixed with 'DRS' to separate them from our native definitions and parameters. We remove the x-swagger-router-controller lines. 3. A separate part of the definitions section for the DRS definitions NOTE: the code here does not relect the DRS spec anymore. See DR-409. # noqa: E501

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

data-repo-client-1.250.0.tar.gz (122.5 kB view hashes)

Uploaded Source

Built Distribution

data_repo_client-1.250.0-py3-none-any.whl (358.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page