---
title: "Search for versions"
method: GET
path: "/search/versions"
tags: ["Search", "Versions"]
---

# Search for versions

`GET /search/versions`

## Request

- The document declares no server URL.
- Auth: none declared

Returns a paginated list of all versions that match the provided filter criteria.

This operation can fail for the following reasons:

* A server error occurred (HTTP error `500`)

## Query parameters

- `version` string: A single version of an artifact. Can be provided by the client when creating a new version, or it can be server-generated. The value can be any string unique to the artifact, but it is recommended to use a simple integer or a semver value.
- `offset` integer
- `limit` integer
- `order` 'asc' | 'desc'
- `orderby` 'groupId' | 'artifactId' | 'version' | 'name' | 'createdOn' | 'modifiedOn' | 'globalId'
- `labels` string[]
- `description` string
- `groupId` string: An ID of a single artifact group.
- `globalId` integer
- `contentId` integer
- `artifactId` string: The ID of a single artifact.
- `name` string
- `state` 'ENABLED' | 'DISABLED' | 'DEPRECATED' | 'DRAFT' | 'SUNSET': Describes the state of an artifact or artifact version. * ENABLED * DISABLED * DEPRECATED * DRAFT * SUNSET — Signals that a migration deadline has passed and the version will be removed. Requires transitioning through DEPRECATED first. Added in 3.3.0.
- `artifactType` string
- `content` string
- `structure` string
- `nameCaseInsensitive` boolean
- `skipCount` boolean

## Response `200`

On a successful response, returns a result set of versions - one for each version
in the registry that matches the criteria.

- VersionSearchResults: Describes the response received when searching for artifacts.
  - `count` integer, required: The total number of versions that matched the query (may be more than the number of versions returned in the result set).
  - `versions` SearchedVersion[], required: The collection of artifact versions returned in the result set.
    - `name` string
    - `description` string
    - `createdOn` string, date-time, required
    - `owner` string, required
    - `artifactType` string, required
    - `state` 'ENABLED' | 'DISABLED' | 'DEPRECATED' | 'DRAFT' | 'SUNSET', required: Describes the state of an artifact or artifact version. * ENABLED * DISABLED * DEPRECATED * DRAFT * SUNSET — Signals that a migration deadline has passed and the version will be removed. Requires transitioning through DEPRECATED first. Added in 3.3.0.
    - `globalId` integer, required
    - `version` string, required: A single version of an artifact. Can be provided by the client when creating a new version, or it can be server-generated. The value can be any string unique to the artifact, but it is recommended to use a simple integer or a semver value.
    - `contentId` integer, required
    - `artifactId` string, required: The ID of a single artifact.
    - `groupId` string: An ID of a single artifact group.
    - `modifiedBy` string
    - `modifiedOn` string, date-time
    - `labels` Labels: User-defined name-value pairs. Name and value must be strings.

## Other responses

- `401`: Common response for all operations that can return a `401` error indicating authentication is required.
- `403`: Common response for all operations that can return a `403` error indicating the user is authenticated but not authorized.
- `500`: Common response for all operations that can fail with an unexpected server error.

## Changes

- **2026-10-31** `ff9684af2aad`: 15 info
  - added the optional property `ruleViolation/causes/items/code` to the response with the `401` status
  - added the optional property `ruleViolation/causes/items/code` to the response with the `403` status
  - added the optional property `ruleViolation/causes/items/code` to the response with the `500` status
  - added the optional property `ruleViolation/causes/items/direction` to the response with the `401` status
  - …11 more
- **2026-10-30** `42059c248ef7`: 1 info
  - added the new optional `query` request parameter `nameCaseInsensitive`
- **2026-10-29** `f17f5df4e79c`: 3 info
  - added the optional property `ruleViolation` to the response with the `401` status
  - added the optional property `ruleViolation` to the response with the `403` status
  - added the optional property `ruleViolation` to the response with the `500` status
- **2026-06-23** `649594fdc80a`: 1 info
  - added the new optional `query` request parameter `skipCount`
- **2026-05-18** `561c6d6c6989`: 1 warning, 1 info
  - added the new `SUNSET` enum value to the `versions/items/state` response property for the response status `200`
  - added the new enum value `SUNSET` to the `query` request parameter `state`

[Operation history](https://skmtc.dev/apicurio/apis/apicurio-registry-api-v3/changes/search/versions/get.md)

---

[API](https://skmtc.dev/apicurio/apis/apicurio-registry-api-v3.md) - [All operations](https://skmtc.dev/apicurio/apis/apicurio-registry-api-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/apicurio/apis/apicurio-registry-api-v3/revisions/ff9684af2aad?raw)
