---
title: "List versions of a tool"
method: GET
path: "/ga4gh/trs/v2/tools/{id}/versions"
tags: ["GA4GHV20"]
---

# List versions of a tool

`GET /ga4gh/trs/v2/tools/{id}/versions`

Returns all versions of the specified tool.

## Path parameters

- `id` string, required

## Response `200`

An array of tool versions.

- ToolVersion[]
  - `author` string[] — Contact information for the author of this version of the tool in the registry. (More complex authorship information is handled by the descriptor).
  - `containerfile` boolean — Reports if this tool has a containerfile available. (For Docker-based tools, this would indicate the presence of a Dockerfile)
  - `descriptor_type` string[] — The type (or types) of descriptors available.
  - `descriptor_type_version` object — A map providing information about the language versions used in this tool. The keys should be the same values used in the `descriptor_type` field, and the value should be an array of all the language versions used for the given `descriptor_type`. Depending on the `descriptor_type` (e.g. CWL) multiple version values may be used in a single tool.
  - `id` string, required — An identifier of the version of this tool for this particular tool registry.
  - `images` ImageData[] — All known docker images (and versions/hashes) used by this tool. If the tool has to evaluate any of the docker images strings at runtime, those ones cannot be reported here.
    - `checksum` Checksum[] — A production (immutable) tool version is required to have a hashcode. Not required otherwise, but might be useful to detect changes. This exposes the hashcode for specific image versions to verify that the container version pulled is actually the version that was indexed by the registry.
      - `checksum` string, required — The hex-string encoded checksum for the data.
      - `type` string, required — The digest method used to create the checksum. The value (e.g. `sha-256`) SHOULD be listed as `Hash Name String` in the https://github.com/ga4gh-discovery/ga4gh-checksum/blob/master/hash-alg.csv[GA4GH Checksum Hash Algorithm Registry]. Other values MAY be used, as long as implementors are aware of the issues discussed in https://tools.ietf.org/html/rfc6920#section-9.4[RFC6920]. GA4GH may provide more explicit guidance for use of non-IANA-registered algorithms in the future.
    - `image_name` string — Used in conjunction with a registry_url if provided to locate images.
    - `image_type` 'Docker' | 'Singularity' | 'Conda'
    - `registry_host` string — A docker registry or a URL to a Singularity registry. Used along with image_name to locate a specific image.
    - `size` integer — Size of the container in bytes.
    - `updated` string — Last time the container was updated.
  - `included_apps` string[] — An array of IDs for the applications that are stored inside this tool.
  - `is_production` boolean — This version of a tool is guaranteed to not change over time (for example, a tool built from a tag in git as opposed to a branch). A production quality tool is required to have a checksum
  - `meta_version` string — The version of this tool version in the registry. Iterates when fields like the description, author, etc. are updated.
  - `name` string — The name of the version.
  - `signed` boolean — Reports whether this version of the tool has been signed.
  - `url` string, required — The URL for this tool version in this registry.
  - `verified` boolean — Reports whether this tool has been verified by a specific organization or individual.
  - `verified_source` string[] — Source of metadata that can support a verified tool, such as an email or URL.

---

[API](https://skmtc.dev/dockstore/apis/dockstore-api.md) · [All operations](https://skmtc.dev/dockstore/apis/dockstore-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/dockstore/dockstore-api/revisions/9d82a4e96aa7/schema)
