---
title: "Changes to Create artifact version"
method: POST
path: "/groups/{groupId}/artifacts/{artifactId}/versions"
---

# Changes to Create artifact version

`POST /groups/{groupId}/artifacts/{artifactId}/versions`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 26 of 126 revisions.

- **2026-10-31** `ff9684af2aad`: 39 info
- **2026-10-29** `f17f5df4e79c`: 8 info
- **2026-06-05** `588c3956268c`: 2 breaking, 4 warning, 8 info
- **2026-05-18** `561c6d6c6989`: 1 warning
- **2026-03-12** `c39e60991838`: 1 info
- **2025-12-16** `440db8997574`: 2 info
- **2025-04-17** `b4574d6bc192`: 1 info
- **2024-10-22** `e6e71fdbedf5`: 2 info
- **2024-10-15** `95e926f2874a`: 1 warning, 1 info
- **2024-09-06** `948bffd5d083`: 6 warning, 14 info
- **2024-08-09** `8eeaa52c3b5b`: 1 info
- **2024-06-03** `b4f9a63429d9`: 1 breaking, 2 info
- **2024-05-31** `22cc07f7a1f7`: 1 info
- **2024-05-29** `f218e9fd88af`: 1 warning
- **2024-05-16** `a153ac5855ab`: 5 breaking, 7 warning, 7 info
- **2024-03-13** `b4b182eb7468`: 1 breaking, 1 info
- **2024-02-16** `8ec5f92da35d`: 1 breaking, 1 info
- **2024-02-07** `d761f09f101e`: 1 breaking, 1 warning
- **2024-01-25** `35e85f455b84`: 1 breaking, 3 info
- **2023-02-02** `5152639bee96`: 1 warning
- **2023-02-02** `e6eab48425c4`: 1 info
- **2023-02-02** `565fa69368e0`: 1 info
- **2023-02-02** `71202e0fe3eb`: 1 info
- **2022-11-24** `29b79a1c2c74`: 10 info
- **2022-04-25** `d1a3061ccc48`: 1 info
- **2022-04-01** `79156695de01`: 1 info

## Changes

- **2026-10-31** `ff9684af2aad`: 39 info
  - added the optional property `allOf[subschema #1]/causes/items/code` to the response with the `400` status
  - added the optional property `allOf[subschema #1]/causes/items/direction` to the response with the `400` status
  - added the optional property `allOf[subschema #1]/causes/items/existing` to the response with the `400` status
  - added the optional property `allOf[subschema #1]/causes/items/proposed` to the response with the `400` status
  - added the optional property `allOf[subschema #2: Root Type for Error]/ruleViolation/causes/items/code` to the response with the `400` status
  - added the optional property `allOf[subschema #2: Root Type for Error]/ruleViolation/causes/items/direction` to the response with the `400` status
  - added the optional property `allOf[subschema #2: Root Type for Error]/ruleViolation/causes/items/existing` to the response with the `400` status
  - added the optional property `allOf[subschema #2: Root Type for Error]/ruleViolation/causes/items/proposed` to the response with the `400` status
  - added the optional property `allOf[subschema #2: Root Type for Error]/ruleViolation/ruleType` to the response with the `400` status
  - 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 `409` status
  - added the optional property `ruleViolation/causes/items/code` to the response with the `422` 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
  - added the optional property `ruleViolation/causes/items/direction` to the response with the `403` status
  - added the optional property `ruleViolation/causes/items/direction` to the response with the `404` status
  - added the optional property `ruleViolation/causes/items/direction` to the response with the `409` status
  - added the optional property `ruleViolation/causes/items/direction` to the response with the `422` status
  - added the optional property `ruleViolation/causes/items/direction` to the response with the `500` status
  - added the optional property `ruleViolation/causes/items/existing` to the response with the `401` status
  - added the optional property `ruleViolation/causes/items/existing` to the response with the `403` status
  - added the optional property `ruleViolation/causes/items/existing` to the response with the `404` status
  - added the optional property `ruleViolation/causes/items/existing` to the response with the `409` status
  - added the optional property `ruleViolation/causes/items/existing` to the response with the `422` status
  - added the optional property `ruleViolation/causes/items/existing` to the response with the `500` status
  - added the optional property `ruleViolation/causes/items/proposed` to the response with the `401` status
  - added the optional property `ruleViolation/causes/items/proposed` to the response with the `403` status
  - added the optional property `ruleViolation/causes/items/proposed` to the response with the `404` status
  - added the optional property `ruleViolation/causes/items/proposed` to the response with the `409` status
  - added the optional property `ruleViolation/causes/items/proposed` to the response with the `422` status
  - added the optional property `ruleViolation/causes/items/proposed` to the response with the `500` status
  - added the optional property `ruleViolation/ruleType` to the response with the `401` status
  - added the optional property `ruleViolation/ruleType` to the response with the `403` status
  - added the optional property `ruleViolation/ruleType` to the response with the `404` status
  - added the optional property `ruleViolation/ruleType` to the response with the `409` status
  - added the optional property `ruleViolation/ruleType` to the response with the `422` status
  - added the optional property `ruleViolation/ruleType` to the response with the `500` status
- **2026-10-29** `f17f5df4e79c`: 8 info
  - added the optional property `allOf[subschema #2: Root Type for Error]/ruleViolation` to the response with the `400` status
  - 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 `409` status
  - added the optional property `ruleViolation` to the response with the `422` status
  - added the optional property `ruleViolation` to the response with the `500` status
  - response property `allOf[subschema #1]/causes` deprecated
- **2026-06-05** `588c3956268c`: 2 breaking, 4 warning, 8 info
  - removed the required property `status` from the response with the `400` status
  - removed the required property `title` from the response with the `400` status
  - removed the optional property `detail` from the response with the `400` status
  - removed the optional property `instance` from the response with the `400` status
  - removed the optional property `name` from the response with the `400` status
  - removed the optional property `type` from the response with the `400` status
  - added `#/components/schemas/ProblemDetails, subschema #1` to the response body `allOf` list for the response status `400`
  - removed `#/components/schemas/ProblemDetails, subschema #1` from the response body `allOf` list for the response status `409`
  - added the optional property `detail` to the response with the `409` status
  - added the optional property `instance` to the response with the `409` status
  - added the optional property `name` to the response with the `409` status
  - added the optional property `type` to the response with the `409` status
  - added the required property `status` to the response with the `409` status
  - added the required property `title` to the response with the `409` status
- **2026-05-18** `561c6d6c6989`: 1 warning
  - added the new `SUNSET` enum value to the `state` response property for the response status `200`
- **2026-03-12** `c39e60991838`: 1 info
  - added the new optional request property `content/encoding`
- **2025-12-16** `440db8997574`: 2 info
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
- **2025-04-17** `b4574d6bc192`: 1 info
  - added the non-success response with the status `422`
- **2024-10-22** `e6e71fdbedf5`: 2 info
  - added the optional property `modifiedBy` to the response with the `200` status
  - added the optional property `modifiedOn` to the response with the `200` status
- **2024-10-15** `95e926f2874a`: 1 warning, 1 info
  - added the new `DRAFT` enum value to the `state` response property for the response status `200`
  - added the new optional request property `isDraft`
- **2024-09-06** `948bffd5d083`: 6 warning, 14 info
  - removed the optional property `error_code` from the response with the `400` status
  - 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 `400` 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
  - added `#/components/schemas/ProblemDetails` to the response body `allOf` list for the response status `409`
  - removed `#/components/schemas/Error` from the response body `allOf` list for the response status `409`
  - added the optional property `instance` to the response with the `400` status
  - added the optional property `instance` to the response with the `404` status
  - added the optional property `instance` to the response with the `500` status
  - added the optional property `type` to the response with the `400` status
  - added the optional property `type` to the response with the `404` status
  - added the optional property `type` to the response with the `500` status
  - added the required property `status` to the response with the `400` status
  - added the required property `status` to the response with the `404` status
  - added the required property `status` to the response with the `500` status
  - added the required property `title` to the response with the `400` status
  - added the required property `title` to the response with the `404` status
  - added the required property `title` to the response with the `500` status
- **2024-08-09** `8eeaa52c3b5b`: 1 info
  - added the non-success response with the status `400`
- **2024-06-03** `b4f9a63429d9`: 1 breaking, 2 info
  - removed the required property `type` from the response with the `200` status
  - the `version` response's property pattern `^[a-zA-Z0-9._\-+]{1,256}$` was added for the status `200`
  - added the required property `artifactType` to the response with the `200` status
- **2024-05-31** `22cc07f7a1f7`: 1 info
  - added the new optional `query` request parameter `dryRun`
- **2024-05-29** `f218e9fd88af`: 1 warning
  - deleted the `query` request parameter `ifExists`
- **2024-05-16** `a153ac5855ab`: 5 breaking, 7 warning, 7 info
  - added the new required request property `content/content`
  - added the new required request property `content/contentType`
  - removed the media type `*/*` from the request body
  - removed the media type `application/vnd.create.extended+json` from the request body
  - the `content` request property type changed from `string` to `object`
  - deleted the `header` request parameter `X-Registry-Artifact-Branches`
  - deleted the `header` request parameter `X-Registry-Description`
  - deleted the `header` request parameter `X-Registry-Description-Encoded`
  - deleted the `header` request parameter `X-Registry-Name`
  - deleted the `header` request parameter `X-Registry-Name-Encoded`
  - deleted the `header` request parameter `X-Registry-Version`
  - removed the request property `references`
  - added the new optional `query` request parameter `ifExists`
  - added the new optional request property `branches`
  - added the new optional request property `content/references`
  - added the new optional request property `description`
  - added the new optional request property `labels`
  - added the new optional request property `name`
  - added the new optional request property `version`
- **2024-03-13** `b4b182eb7468`: 1 breaking, 1 info
  - removed the required property `id` from the response with the `200` status
  - added the required property `artifactId` to the response with the `200` status
- **2024-02-16** `8ec5f92da35d`: 1 breaking, 1 info
  - removed the required property `createdBy` from the response with the `200` status
  - added the required property `owner` to the response with the `200` status
- **2024-02-07** `d761f09f101e`: 1 breaking, 1 warning
  - the `labels` response's property type changed from `array` to `object` for status `200`
  - removed the optional property `properties` from the response with the `200` status
- **2024-01-25** `35e85f455b84`: 1 breaking, 3 info
  - added the pattern `^[a-zA-Z0-9._\-+]{1,256}$` to the `header` request parameter `X-Registry-Version`
  - added the new optional `header` request parameter `X-Registry-Artifact-Branches`
  - the `groupId` response's property pattern `^.{1,512}$` was added for the status `200`
  - the `id` response's property pattern `^.{1,512}$` was added for the status `200`
- **2023-02-02** `5152639bee96`: 1 warning
  - deleted the `header` request parameter `Content-Type`
- **2023-02-02** `e6eab48425c4`: 1 info
  - the request's body type was generalized from no type to `string`, and format from no format to `binary`
- **2023-02-02** `565fa69368e0`: 1 info
  - added the media type `application/vnd.create.extended+json` to the request body
- **2023-02-02** `71202e0fe3eb`: 1 info
  - added the new optional `header` request parameter `Content-Type`
- **2022-11-24** `29b79a1c2c74`: 10 info
  - removed the `ASYNCAPI` enum value from the `type` response property for the response status `200`
  - removed the `AVRO` enum value from the `type` response property for the response status `200`
  - removed the `GRAPHQL` enum value from the `type` response property for the response status `200`
  - removed the `JSON` enum value from the `type` response property for the response status `200`
  - removed the `KCONNECT` enum value from the `type` response property for the response status `200`
  - removed the `OPENAPI` enum value from the `type` response property for the response status `200`
  - removed the `PROTOBUF` enum value from the `type` response property for the response status `200`
  - removed the `WSDL` enum value from the `type` response property for the response status `200`
  - removed the `XML` enum value from the `type` response property for the response status `200`
  - removed the `XSD` enum value from the `type` response property for the response status `200`
- **2022-04-25** `d1a3061ccc48`: 1 info
  - the request's body type was generalized from `string` to no type, and format from `binary` to no format
- **2022-04-01** `79156695de01`: 1 info
  - added the media type `application/create.extended+json` to the request body

---

[Operation](https://skmtc.dev/apicurio/apis/apicurio-registry-api-v3/docs/groups/:groupId/artifacts/:artifactId/versions/post.md) - [API](https://skmtc.dev/apicurio/apis/apicurio-registry-api-v3.md) - [Page](https://skmtc.dev/apicurio/apis/apicurio-registry-api-v3/changes/groups/:groupId/artifacts/:artifactId/versions/post)
