---
title: "Update artifact metadata"
method: PUT
path: "/groups/{groupId}/artifacts/{artifactId}"
tags: ["Metadata"]
---

# Update artifact metadata

`PUT /groups/{groupId}/artifacts/{artifactId}`

## Request

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

Updates the editable parts of the artifact's metadata.  Not all metadata fields can
be updated.  Note that only the properties included will be updated.  You can update
only the name by including only the `name` property in the payload of the request.
Properties that are allowed but not present will result in the artifact's metadata
not being changed.

This operation can fail for the following reasons:

* No artifact with the `artifactId` exists (HTTP error `404`)
* A server error occurred (HTTP error `500`)

## Request body

- EditableArtifactMetaData
  - `name` string
  - `description` string
  - `labels` Labels: User-defined name-value pairs. Name and value must be strings.
  - `owner` string

## Response `204`

The artifact's metadata was updated.

## 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.

## Changes

- **2026-10-31** `ff9684af2aad`: 20 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 `404` status
  - added the optional property `ruleViolation/causes/items/code` to the response with the `500` status
  - …16 more
- **2026-10-29** `f17f5df4e79c`: 4 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 `404` status
  - added the optional property `ruleViolation` to the response with the `500` status
- **2025-12-16** `440db8997574`: 2 info
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
- **2024-09-06** `948bffd5d083`: 4 warning, 8 info
  - removed the optional property `error_code` from the response with the `404` status
  - removed the optional property `error_code` from the response with the `500` status
  - removed the optional property `message` from the response with the `404` status
  - removed the optional property `message` from the response with the `500` status
  - …8 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/apicurio/apis/apicurio-registry-api-v3/changes/groups/:groupId/artifacts/:artifactId/put.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)
