# Create a content item version

Creates a new version of the specified content item in the specified language by copying values from a source version. If `baseVersion` is omitted, the latest version is used as the source.

Endpoint: POST /api/v1/content-items/{id}/versions
Version: v1
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http Bearer

## Path parameters:

  - `id` (string, required)
    The content item identifier.

## Query parameters:

  - `environmentId` (string)
    The environment identifier. Defaults to "main".

## Request body:

  - `application/json, text/json, application/*+json` (unknown)
    Input for creating a new content item version.

## Request fields (application/json):

  - `language` (string, required)
    Language of the content item version to create.
    Example: en

  - `baseVersion` (integer)
    Source version to copy field values from. If omitted, the latest version is used.
    Example: 1

  - `versionName` (string)
    Optional user-defined version label.
    Example: Autumn campaign

## Response 201:

  - `201` (unknown)
    Successful operation

## Response 201 fields (application/json):

  - `id` (string)
    The content item identifier, unchanged across versions.
    Example: 3875AC96-8ECF-44AE-8E25-851068B373CE

  - `language` (string)
    Language associated with this version.
    Example: en

  - `version` (integer)
    Backend-assigned version number.
    Example: 3

  - `versionName` (string)
    User-defined version label.
    Example: Autumn campaign

  - `revision` (string)
    Revision for this version.
    Example: 37265ed7-85cf-4876-9c09-b6590fc6cf3a

  - `system` (object)

  - `system.created` (string)
    The creation time.
    Example: 2024-01-15T10:30:00Z

  - `system.createdBy` (string)
    The creator.
    Example: sitecore admin

  - `system.updated` (string)
    The last updating time.
    Example: 2024-01-15T10:30:00Z

  - `system.updatedBy` (string)
    The last updater.
    Example: sitecore admin

  - `permissions` (object)
    The access rights of the current user to the site.

  - `permissions.canAdmin` (boolean)
    Whether the current user has admin rights
    Example: true

  - `permissions.canWrite` (boolean)
    Whether the current user has permissions to edit values
    Example: true

  - `permissions.canCreate` (boolean)
    Whether the current user has permissions to create entities
    Example: true

  - `permissions.canDelete` (boolean)
    Whether the current user has permissions to delete entities
    Example: true

  - `permissions.canRename` (boolean)
    Whether the current user has permissions to rename  entities
    Example: true

  - `permissions.canRead` (boolean)
    Whether the current user has permissions to see  entities
    Example: true

  - `permissions.canPublish` (boolean)
    Whether the current user has permissions to publish sites in this environment
    Example: true

  - `permissions.canDuplicate` (boolean)
    Whether the current user has permissions to duplicate entities
    Example: true

  - `permissions.canWriteLanguage` (boolean)
    Whether the current user has permissions to write item language entities
    Example: true

## Response 400:

  - `400` (unknown)
    Invalid input format

## Response 400 fields (application/json):

  - `type` (string)
    The type of the error response entity.

  - `title` (string)
    The title of the error response entity.

  - `status` (integer)
    The response status code.

  - `detail` (string)
    A detailed explanation, specific to this occurrence of the problem.

  - `instance` (string)
    If available, a URI reference that identifies the specific occurrence of the problem.

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `type` (string)
    The type of the error response entity.

  - `title` (string)
    The title of the error response entity.

  - `status` (integer)
    The response status code.

  - `detail` (string)
    A detailed explanation, specific to this occurrence of the problem.

  - `instance` (string)
    If available, a URI reference that identifies the specific occurrence of the problem.

## Response 403:

  - `403` (unknown)
    Forbidden

## Response 403 fields (application/json):

  - `type` (string)
    The type of the error response entity.

  - `title` (string)
    The title of the error response entity.

  - `status` (integer)
    The response status code.

  - `detail` (string)
    A detailed explanation, specific to this occurrence of the problem.

  - `instance` (string)
    If available, a URI reference that identifies the specific occurrence of the problem.

## Response 404:

  - `404` (unknown)
    Content item not found

## Response 404 fields (application/json):

  - `type` (string)
    The type of the error response entity.

  - `title` (string)
    The title of the error response entity.

  - `status` (integer)
    The response status code.

  - `detail` (string)
    A detailed explanation, specific to this occurrence of the problem.

  - `instance` (string)
    If available, a URI reference that identifies the specific occurrence of the problem.

