> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lib.toolrinth.com/llms.txt
> Use this file to discover all available pages before exploring further.

> Interact with Modrinth Versions

# VersionManager

```ts theme={"theme":"github-dark-high-contrast"}
export class VersionManager
```

# Table of Contents

### Methods

* [listProjectVersions()](#listProjectVersions)
* [getVersionById()](#getVersionById)
* [getVersionByNumber()](#getVersionByNumber)
* [getMultipleVersions()](#getMultipleVersions)
* [getVersionByFileHash()](#getVersionByFileHash)

## Methods

<AccordionGroup>
  <Accordion title="listProjectVersions()">
    <div id="listProjectVersions" />

    <ResponseField name="listProjectVersions(id_or_slug)" pre={["async"]}>
      List versions associated with a project on Modrinth

      <ResponseField name="id_or_slug" type="string" required />

      *Returns [Response](/reference/type/Response)\<[Version](/reference/type/Version)\[]>*
    </ResponseField>
  </Accordion>

  <Accordion title="getVersionById()">
    <div id="getVersionById" />

    <ResponseField name="getVersionById(id)" pre={["async"]}>
      Get a specific version on Modrinth by its ID

      <ResponseField name="id" type="string" required />

      *Returns [Response](/reference/type/Response)\<[Version](/reference/type/Version) | [null](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/null)>*
    </ResponseField>
  </Accordion>

  <Accordion title="getVersionByNumber()">
    <div id="getVersionByNumber" />

    <ResponseField name="getVersionByNumber(project_id_or_slug, id_or_version_number)" pre={["async"]}>
      Get a specific version on Modrinth by its version number or ID

      <ResponseField name="project_id_or_slug" type="string" required />

      <ResponseField name="id_or_version_number" type="string" required />

      *Returns [Response](/reference/type/Response)\<[Version](/reference/type/Version) | [null](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/null)>*
    </ResponseField>
  </Accordion>

  <Accordion title="getMultipleVersions()">
    <div id="getMultipleVersions" />

    <ResponseField name="getMultipleVersions(...ids)" pre={["async"]}>
      Get multiple versions on Modrinth at once by their IDs

      <ResponseField name="ids" type="string[]" required />

      *Returns [Response](/reference/type/Response)\<[Version](/reference/type/Version)\[]>*
    </ResponseField>
  </Accordion>

  <Accordion title="getVersionByFileHash()">
    <div id="getVersionByFileHash" />

    <ResponseField name="getVersionByFileHash(hash, algorithm, multiple)" pre={["async"]}>
      Get a version or multiple versions on Modrinth relating to the specific hash

      <ResponseField name="hash" type="string" required />

      <ResponseField name="algorithm" type="string" pre={["sha1|sha512"]} required />

      <ResponseField name="multiple" type="boolean" default={false} />

      *Returns [Response](/reference/type/Response)\<([Version](/reference/type/Version) | [null](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/null)) | [Version](/reference/type/Version)\[]>*
    </ResponseField>
  </Accordion>
</AccordionGroup>
