---
title: "Replace list of versions in branch"
method: PUT
path: "/groups/{groupId}/artifacts/{artifactId}/branches/{branchId}/versions"
tags: ["Branches"]
---

# Replace list of versions in branch

`PUT /groups/{groupId}/artifacts/{artifactId}/branches/{branchId}/versions`

Add a new version to an artifact branch. Branch is created if it does not exist. Returns a list of version identifiers in the artifact branch, ordered from the latest (tip of the branch) to the oldest.
This operation can fail for the following reasons:
* No artifact with this `groupId` and `artifactId` exists (HTTP error `404`)
* No branch with this `branchId` exists (HTTP error `404`)
* A server error occurred (HTTP error `500`)

## Request body

- ReplaceBranchVersions
  - `versions` Version[], required

## Response `204`

The list of versions was replaced successfully.

## 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.
- `404` — Common response for all operations that can return a `404` error.
- `500` — Common response for all operations that can fail with an unexpected server error.

---

[API](https://skmtc.net/apicurio/apis/apicurio-registry-api-v3.md) · [All operations](https://skmtc.net/apicurio/apis/apicurio-registry-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/apicurio/apicurio-registry-api-v3/revisions/c39cb56d7dbc/schema)
