# Create a new version of a taxonomy

Creates a copy of a taxonomy with the same ID as the original, but the version number is updated (for example, from `1` to `2`). You can work on the versions independently.

Endpoint: POST /api/v2/cm/branches/{branchId}/taxonomies/{taxonomyId}
Version: v2.0
Security: OAuth2.0

## Security:

  - `OAuth2.0` (unknown)
    oauth2

## Path parameters:

  - `branchId` (string, required)
    The ID of the branch, for example `prod`.

  - `taxonomyId` (string, required)
    The ID of the taxonomy, for example `running`.

## Request body:

  - `application/json-patch+json, application/json, text/json, application/*+json` (unknown)
    Parameter containing the taxonomy request.

## Request fields (application/json-patch+json):

  - `name` (string)

  - `label` (string)

  - `versionTags` (array)

  - `terms` (array)

  - `terms.id` (string)

  - `terms.name` (string)

  - `terms.label` (string)

## Response 201:

  - `201` (unknown)
    New version created successfully

## Response 201 fields (application/json):

  - `id` (string, required)

  - `name` (string, required)

  - `label` (string)

  - `version` (integer)

  - `versionTags` (array)

  - `terms` (array)

  - `terms.id` (string, required)

  - `terms.name` (string, required)

  - `terms.label` (string)

  - `system` (object, required)

  - `system.status` (string)
    Enum: "Draft", "Published", "Archived"

  - `system.availabilityDate` (string)

  - `system.unavailabilityDate` (string)

  - `system.publishedAt` (string)

  - `system.publishedBy` (string)

  - `system.archivedDate` (string)

  - `system.archivedBy` (string)

  - `system.environment` (string, required)

  - `system.type` (string, required)

  - `system.hash` (string, required)

  - `system.createdAt` (string, required)

  - `system.createdBy` (string, required)

  - `system.updatedAt` (string)

  - `system.updatedBy` (string)

## Response 400:

  - `400` (unknown)
    Request not valid or error during operation

## Response 400 fields (application/json):

  - `type` (string)

  - `title` (string)

  - `status` (integer)

  - `detail` (string)

  - `instance` (string)

## Response 401:

  - `401` (unknown)
    Unauthorized request or invalid access token

## Response 401 fields (application/json):

  - `type` (string)

  - `title` (string)

  - `status` (integer)

  - `detail` (string)

  - `instance` (string)

## Response 403:

  - `403` (unknown)
    Request does not contain required scopes

## Response 403 fields (application/json):

  - `type` (string)

  - `title` (string)

  - `status` (integer)

  - `detail` (string)

  - `instance` (string)

## Response 409:

  - `409` (unknown)
    Conflict

## Response 409 fields (application/json):

  - `type` (string)

  - `title` (string)

  - `status` (integer)

  - `detail` (string)

  - `instance` (string)

## Response 500:

  - `500` (unknown)
    Server-side exception during request execution

