v1

latestOpenAPI 3.0.02026-07-17101229.1 KB
GA4GH

Get additional tool descriptor files relative to the main file

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.

get/tools/{id}/versions/{version_id}/{type}/descriptor/{relative_path}

Path parameters

idstring required

A unique identifier of the tool, scoped to this registry, for example 123456.

type'CWL' | 'WDL' | 'NFL' | 'GALAXY' | 'SMK' | 'PLAIN_CWL' | 'PLAIN_WDL' | 'PLAIN_NFL' | 'PLAIN_GALAXY' | 'PLAIN_SMK' required

The output type of the descriptor. Plain types return the raw text while the "non-plain" types return the application/json

The output type of the descriptor. Plain types return the bare descriptor while the "non-plain" types return a descriptor wrapped with metadata.

version_idstring required

An identifier of the tool version, scoped to this registry, for example v1. We recommend that versions use semantic versioning https://semver.org/spec/v2.0.0.html (For example, 1.0.0 instead of develop)

relative_pathstring required

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.

Response

The tool descriptor.

contentstring

The content of the file itself. One of url or content is required.

urlstring

Optional url to the underlying content, should include version information, and can include a git hash. Note that this URL should resolve to the raw unwrapped content that would otherwise be available in content. One of url or content is required.

Example response

{
  "checksum": [
    {
      "checksum": "ea2a5db69bd20a42976838790bc29294df3af02b",
      "type": "sha1"
    }
  ]
}