---
title: "List all tools"
method: GET
path: "/tools"
tags: ["GA4GH"]
---

# List all tools

`GET /tools`

This endpoint returns all tools available or a filtered subset using metadata query parameters.

## Query parameters

- `id` string
- `alias` string
- `toolClass` string
- `descriptorType` 'CWL' | 'WDL' | 'NFL' | 'GALAXY' | 'SMK' — The type of descriptor that represents this version of the tool. Note that these files can also include associated Docker/container files and test parameters that further describe a version of a tool.
- `tags` string[]
- `registry` string
- `organization` string
- `name` string
- `toolname` string
- `description` string
- `author` string
- `checker` boolean
- `offset` string
- `limit` integer

## Response `200`

An array of Tools that match the filter.

- Tool[]
  - `url` string, required — The URL for this tool in this registry.
  - `id` string, required — A unique identifier of the tool, scoped to this registry.
  - `aliases` string[] — Support for this parameter is optional for tool registries that support aliases. A list of strings that can be used to identify this tool which could be straight up URLs. This can be used to expose alternative ids (such as GUIDs) for a tool for registries. Can be used to match tools across registries.
  - `organization` string, required — The organization that published the image.
  - `name` string — The name of the tool.
  - `toolclass` ToolClass, required — Describes a class (type) of tool allowing us to categorize workflows, tasks, and maybe even other entities (such as services) separately.
    - `id` string — The unique identifier for the class.
    - `name` string — A short friendly name for the class.
    - `description` string — A longer explanation of what this class is and what it can accomplish.
  - `description` string — The description of the tool.
  - `meta_version` string — The version of this tool in the registry. Iterates when fields like the description, author, etc. are updated.
  - `has_checker` boolean — Whether this tool has a checker tool associated with it.
  - `checker_url` string — Optional url to the checker tool that will exit successfully if this tool produced the expected result given test data.
  - `versions` ToolVersion[], required — A list of versions for this tool.
    - `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).
    - `name` string — The name of the version.
    - `url` string, required — The URL for this tool version in this registry.
    - `id` string, required — An identifier of the version of this tool for this particular tool registry.
    - `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
    - `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.
      - `registry_host` string — A docker registry or a URL to a Singularity registry. Used along with image_name to locate a specific image.
      - `image_name` string — Used in conjunction with a registry_url if provided to locate images.
      - `size` integer — Size of the container in bytes.
      - `updated` string — Last time the container was updated.
      - `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_type` 'Docker' | 'Singularity' | 'Conda' — Indicates what kind of container is this image is.
    - `descriptor_type` DescriptorType[] — 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.
    - `containerfile` boolean — Reports if this tool has a containerfile available. (For Docker-based tools, this would indicate the presence of a Dockerfile)
    - `description` string — The description of the tool version. This allows for documentation of a specific tool version as a tool evolves over time.
    - `meta_version` string — The version of this tool version in the registry. Iterates when fields like the description, author, etc. are updated.
    - `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.
    - `signed` boolean — Reports whether this version of the tool has been signed.
    - `included_apps` string[] — An array of IDs for the applications that are stored inside this tool.

---

[API](https://skmtc.net/ga4gh/apis/ga4gh-tool-discovery-api.md) · [All operations](https://skmtc.net/ga4gh/apis/ga4gh-tool-discovery-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ga4gh/ga4gh-tool-discovery-api/versions/adbe60a993bf/schema)
