Download OpenAPI specification:Download
Proposed API for GA4GH (Global Alliance for Genomics & Health) tool repositories. A tool consists of a set of container images that are paired with a set of documents. Examples of documents include CWL (Common Workflow Language), WDL (Workflow Description Language), NFL (Nextflow), GXFORMAT2 (Galaxy) or SMK (Snakemake) that describe how to use those images and a set of specifications for those images (examples are Dockerfiles or Singularity recipes) that describe how to reproduce those images in the future. We use the following terminology, a "container image" describes a container as stored at rest on a filesystem, a "tool" describes one of the triples as described above. In practice, examples of "tools" include CWL CommandLineTools, CWL Workflows, WDL workflows, and Nextflow workflows that reference containers in formats such as Docker or Singularity.
A group of web resources proposed as a common standard for tool repositories
This endpoint returns one specific tool (which has ToolVersions nested inside it).
id required | string A unique identifier of the tool, scoped to this registry, for example |
{- "id": 123456,
- "aliases": [
- [
- "630d31c3-381e-488d-b639-ce5d047a0142",
- "dockstore.org:630d31c3-381e-488d-b639-ce5d047a0142",
- "bio.tools:630d31c3-381e-488d-b639-ce5d047a0142"
]
], - "organization": "string",
- "name": "string",
- "toolclass": {
- "id": "string",
- "name": "string",
- "description": "string"
}, - "description": "string",
- "meta_version": "string",
- "has_checker": true,
- "checker_url": "string",
- "versions": [
- {
- "author": [
- "string"
], - "name": "string",
- "id": "v1",
- "is_production": true,
- "images": [
- {
- "registry_host": [
- "registry.hub.docker.com"
], - "image_name": [
- "quay.io/seqware/seqware_full/1.1",
- "ubuntu:latest"
], - "size": 0,
- "updated": "string",
- "checksum": [
- {
- "checksum": "77af4d6b9913e693e8d0b4b294fa62ade6054e6b2f1ffb617ac955dd63fb0182",
- "type": "sha256"
}
], - "image_type": "Docker"
}
], - "descriptor_type": [
- "CWL"
], - "descriptor_type_version": "{\n \"WDL\": [\"1.0\", \"1.0\"],\n \"CWL\": [\"v1.0.2\"],\n \"NFL\": [\"DSL2\"]\n}\n",
- "containerfile": true,
- "meta_version": "string",
- "verified": true,
- "verified_source": [
- "string"
], - "signed": true,
}
]
}
Returns all versions of the specified tool.
id required | string A unique identifier of the tool, scoped to this registry, for example |
[- {
- "author": [
- "string"
], - "name": "string",
- "id": "v1",
- "is_production": true,
- "images": [
- {
- "registry_host": [
- "registry.hub.docker.com"
], - "image_name": [
- "quay.io/seqware/seqware_full/1.1",
- "ubuntu:latest"
], - "size": 0,
- "updated": "string",
- "checksum": [
- {
- "checksum": "77af4d6b9913e693e8d0b4b294fa62ade6054e6b2f1ffb617ac955dd63fb0182",
- "type": "sha256"
}
], - "image_type": "Docker"
}
], - "descriptor_type": [
- "CWL"
], - "descriptor_type_version": "{\n \"WDL\": [\"1.0\", \"1.0\"],\n \"CWL\": [\"v1.0.2\"],\n \"NFL\": [\"DSL2\"]\n}\n",
- "containerfile": true,
- "meta_version": "string",
- "verified": true,
- "verified_source": [
- "string"
], - "signed": true,
}
]
This endpoint returns one specific tool version.
id required | string A unique identifier of the tool, scoped to this registry, for example |
version_id required | string An identifier of the tool version, scoped to this registry, for example |
{- "author": [
- "string"
], - "name": "string",
- "id": "v1",
- "is_production": true,
- "images": [
- {
- "registry_host": [
- "registry.hub.docker.com"
], - "image_name": [
- "quay.io/seqware/seqware_full/1.1",
- "ubuntu:latest"
], - "size": 0,
- "updated": "string",
- "checksum": [
- {
- "checksum": "77af4d6b9913e693e8d0b4b294fa62ade6054e6b2f1ffb617ac955dd63fb0182",
- "type": "sha256"
}
], - "image_type": "Docker"
}
], - "descriptor_type": [
- "CWL"
], - "descriptor_type_version": "{\n \"WDL\": [\"1.0\", \"1.0\"],\n \"CWL\": [\"v1.0.2\"],\n \"NFL\": [\"DSL2\"]\n}\n",
- "containerfile": true,
- "meta_version": "string",
- "verified": true,
- "verified_source": [
- "string"
], - "signed": true,
}
This endpoint returns all tools available or a filtered subset using metadata query parameters.
id | string A unique identifier of the tool, scoped to this registry, for example |
alias | string Support for this parameter is optional for tool registries that support aliases. If provided will only return entries with the given alias. |
toolClass | string Filter tools by the name of the subclass (#/definitions/ToolClass) |
descriptorType | string (DescriptorType) Enum: "CWL" "WDL" "NFL" "GALAXY" "SMK" Filter tools by the name of the descriptor type |
registry | string The image registry that contains the image. |
organization | string The organization in the registry that published the image. |
name | string The name of the image. |
toolname | string The name of the tool. |
description | string The description of the tool. |
author | string The author of the tool (TODO a thought occurs, are we assuming that the author of the CWL and the image are the same?). |
checker | boolean Return only checker workflows. |
offset | string Start index of paging. Pagination results can be based on numbers or other values chosen by the registry implementor (for example, SHA values). If this exceeds the current result set return an empty set. If not specified in the request, this will start at the beginning of the results. |
limit | integer <int32> Default: 1000 Amount of records to return in a given page. |
[- {
- "id": 123456,
- "aliases": [
- [
- "630d31c3-381e-488d-b639-ce5d047a0142",
- "dockstore.org:630d31c3-381e-488d-b639-ce5d047a0142",
- "bio.tools:630d31c3-381e-488d-b639-ce5d047a0142"
]
], - "organization": "string",
- "name": "string",
- "toolclass": {
- "id": "string",
- "name": "string",
- "description": "string"
}, - "description": "string",
- "meta_version": "string",
- "has_checker": true,
- "checker_url": "string",
- "versions": [
- {
- "author": [
- "string"
], - "name": "string",
- "id": "v1",
- "is_production": true,
- "images": [
- {
- "registry_host": [
- "registry.hub.docker.com"
], - "image_name": [
- "quay.io/seqware/seqware_full/1.1",
- "ubuntu:latest"
], - "size": 0,
- "updated": "string",
- "checksum": [
- {
- "checksum": "77af4d6b9913e693e8d0b4b294fa62ade6054e6b2f1ffb617ac955dd63fb0182",
- "type": "sha256"
}
], - "image_type": "Docker"
}
], - "descriptor_type": [
- "CWL"
], - "descriptor_type_version": "{\n \"WDL\": [\"1.0\", \"1.0\"],\n \"CWL\": [\"v1.0.2\"],\n \"NFL\": [\"DSL2\"]\n}\n",
- "containerfile": true,
- "meta_version": "string",
- "verified": true,
- "verified_source": [
- "string"
], - "signed": true,
}
]
}
]
Returns the descriptor for the specified tool (examples include CWL, WDL, Nextflow, Galaxy, or Snakemake documents).
id required | string A unique identifier of the tool, scoped to this registry, for example |
type required | string (DescriptorTypeWithPlain) Enum: "CWL" "WDL" "NFL" "GALAXY" "SMK" "PLAIN_CWL" "PLAIN_WDL" "PLAIN_NFL" "PLAIN_GALAXY" "PLAIN_SMK" The output type of the descriptor. Plain types return the bare descriptor while the "non-plain" types return a descriptor wrapped with metadata. |
version_id required | string An identifier of the tool version, scoped to this registry, for example |
{- "content": "string",
- "checksum": [
- {
- "checksum": "ea2a5db69bd20a42976838790bc29294df3af02b",
- "type": "sha1"
}
], - "image_type": "Docker",
- "url": {
}
}
Descriptors can often include imports that refer to additional descriptors. This returns additional descriptors for the specified tool in the same or other directories that can be reached as a relative path. This endpoint can be useful for workflow engine implementations like cwltool to programmatically download all the descriptors for a tool and run it. This can optionally include other files described with FileWrappers such as test parameters and containerfiles.
id required | string A unique identifier of the tool, scoped to this registry, for example |
type required | string (DescriptorTypeWithPlain) Enum: "CWL" "WDL" "NFL" "GALAXY" "SMK" "PLAIN_CWL" "PLAIN_WDL" "PLAIN_NFL" "PLAIN_GALAXY" "PLAIN_SMK" The output type of the descriptor. Plain types return the bare descriptor while the "non-plain" types return a descriptor wrapped with metadata. |
version_id required | string An identifier of the tool version, scoped to this registry, for example |
relative_path required | string.+ A relative path to the additional file (same directory or subdirectories), for example 'foo.cwl' would return a 'foo.cwl' from the same directory as the main descriptor. 'nestedDirectory/foo.cwl' would return the file from a nested subdirectory. Unencoded paths such 'sampleDirectory/foo.cwl' should also be allowed. |
{- "content": "string",
- "checksum": [
- {
- "checksum": "ea2a5db69bd20a42976838790bc29294df3af02b",
- "type": "sha1"
}
], - "image_type": "Docker",
- "url": {
}
}
Get a list of test JSONs (these allow you to execute the tool successfully) suitable for use with this descriptor type.
id required | string A unique identifier of the tool, scoped to this registry, for example |
type required | string (DescriptorTypeWithPlain) Enum: "CWL" "WDL" "NFL" "GALAXY" "SMK" "PLAIN_CWL" "PLAIN_WDL" "PLAIN_NFL" "PLAIN_GALAXY" "PLAIN_SMK" The output type of the descriptor. Plain types return the bare descriptor while the "non-plain" types return a descriptor wrapped with metadata. |
version_id required | string An identifier of the tool version, scoped to this registry, for example |
[- {
- "content": "string",
- "checksum": [
- {
- "checksum": "ea2a5db69bd20a42976838790bc29294df3af02b",
- "type": "sha1"
}
], - "image_type": "Docker",
- "url": {
}
}
]
Get a list of objects that contain the relative path and file type. The descriptors are intended for use with the /tools/{id}/versions/{version_id}/{type}/descriptor/{relative_path} endpoint. Returns a zip file of all files when format=zip is specified.
id required | string A unique identifier of the tool, scoped to this registry, for example |
type required | string (DescriptorType) Enum: "CWL" "WDL" "NFL" "GALAXY" "SMK" The output type of the descriptor. |
version_id required | string An identifier of the tool version, scoped to this registry, for example |
format | string Value: "zip" Returns a zip file of all files when format=zip is specified. |
[- {
- "path": "string",
- "file_type": "TEST_FILE",
- "checksum": {
- "checksum": "string",
- "type": "string"
}
}
]
Returns the container specifications(s) for the specified image. For example, a CWL CommandlineTool can be associated with one specification for a container, a CWL Workflow can be associated with multiple specifications for containers.
id required | string A unique identifier of the tool, scoped to this registry, for example |
version_id required | string An identifier of the tool version, scoped to this registry, for example |
[- {
- "content": "string",
- "checksum": [
- {
- "checksum": "ea2a5db69bd20a42976838790bc29294df3af02b",
- "type": "sha1"
}
], - "image_type": "Docker",
- "url": {
}
}
]
{- "id": "org.ga4gh.myservice",
- "name": "My project",
- "type": {
- "group": "org.ga4gh",
- "artifact": "beacon",
- "version": "1.0.0"
}, - "description": "This service provides...",
- "contactUrl": "mailto:support@example.com",
- "createdAt": "2019-06-04T12:58:19Z",
- "updatedAt": "2019-06-04T12:58:19Z",
- "environment": "test",
- "version": "1.0.0"
}