Language variants
- Item ID + Language ID:
<base_URL>/items/<content_item_id>/variants/<language_id> - Item ID + Language codename:
<base_URL>/items/<content_item_id>/variants/codename/<language_codename> - Item codename + Language ID:
<base_URL>/items/codename/<content_item_codename>/variants/<language_id> - Item codename + Language codename:
<base_URL>/items/codename/<content_item_codename>/variants/codename/<language_codename> - Item external ID + Language ID:
<base_URL>/items/external-id/<content_item_external_id>/variants/<language_id> - Item external ID + Language codename:
<base_URL>/items/external-id/<content_item_external_id>/variants/codename/<language_codename>
Language variant object
Localized variant of a content item.
When copying or migrating variants, you can take the variant object returned when retrieving a variant and use it as-is to upsert a variant.
elements[]required · array · unique items
List of elements as defined in the item's content type. To recreate the order from the UI, use the order from the content type response, sorted by the content group.
Any of:
Asset element
Custom element
Date & time element
Linked items element
Multiple choice element
Number element
Rich text element
Subpages element
Taxonomy element
Text element
URL slug element
Asset element
elementrequired · object
Reference to a specific object in the environment.
The API uses internal IDs for referencing objects. This means that the reference objects in the API responses will always use internal IDs.
Show child attributes
value[]required · array · unique items
The value of asset elements is an array of Reference objects, each representing a single asset. Every asset can be referenced only once. You can also reference the asset's renditions by the
renditions property. Renditions are specific to images only.When retrieving asset elements, the Management API will always reference assets with their internal IDs. When updating asset elements via the API, you can reference an asset by its internal ID or external ID. Also, you can reference a rendition by its internal ID or external ID.Reference to an asset
idstring · uuid
The referenced object's internal ID.
codenamestring · write-only
The referenced object's codename. The value of the
codename property must meet the conditions defined in rules for codenames.external_idstring · write-only
The referenced object’s external ID. The value of the
external_id property must not contain the following characters: /, ., ;.renditions[]array · max. 1 items
The asset's renditions. Renditions are different editions of the original image used in Kontent.
The
When you update a rendition via the API, it gets changed across all assets using this rendition. But when you do the same in the UI, for example, by duplicating an item that contains a rendition, changes to the rendition are not applied across the items.
To remove a rendition, leave the array empty.
renditions property is optional, but once you specify a rendition for the asset, you need to specify the renditions for all the other referenced assets in the element as well. This is due to the backward compatibility of the API.Show child attributes
workflownestedSchema
Specifies the variant's current workflow and workflow step.
step_identifierrequired · nestedSchema
Reference to the content item variant's workflow step.
idstring · uuid
The referenced object's internal ID.
codenamestring · write-only
The referenced object's codename.
workflow_stepnestedSchema · read-only
Deprecated
Reference to the variant's current workflow step.
idstring · uuid
The referenced object's internal ID.
codenamestring · write-only
The referenced object's codename.
itemnestedSchema · read-only
Reference to the content item.
idstring · uuid
The referenced object's internal ID.
codenamestring · write-only
The referenced object's codename. The value of the
codename property must meet the conditions defined in rules for codenames.external_idstring · write-only
The referenced object’s external ID. The value of the
external_id property must not contain the following characters: /, ., ;.languagenestedSchema · read-only
Reference to the language of the variant.
The default language will always have the ID of
00000000-0000-0000-0000-000000000000.idstring · uuid
The referenced object's internal ID.
codenamestring · write-only
The referenced object's codename. The value of the
codename property must meet the conditions defined in rules for codenames.external_idstring · write-only
The referenced object’s external ID. The value of the
external_id property must not contain the following characters: /, ., ;.last_modifiedstring · read-only · date-time
ISO-8601
formatted date and time of the last change of content.
scheduleobject · read-only
Specifies the variant's scheduled publishing and unpublishing dates.
Show child attributes
contributors[]array · max. 50 items · unique items
Specifies the users assigned as contributors to this variant.When updating language variants, you can specify users by their email address or internal ID.
Show child attributes
due_dateobject
Specifies the variant's due date information.
Show child attributes
notestring · max. 4000 chars
Adds additional instructions or notes for content creators.
JSON
{
"elements": [
{
"element": {
"id": "c7c3b834-2222-5677-89c4-b46f04489109"
},
"value": "Text element value"
},
{
"mode": "custom",
"element": {
"id": "53a5eecb-f295-59b4-a07d-19655b6ad860"
},
"value": "custom-url-slug-value"
}
],
"workflow": {
"workflow_identifier": {
"id": "06ea628e-4ec7-4991-91e4-1412995151ee"
},
"step_identifier": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
}
},
"workflow_step": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
},
"item": {
"id": "82ef61f4-ccee-42ac-95e2-1a44beda9625"
},
"language": {
"id": "00000000-0000-0000-0000-000000000000"
},
"last_modified": "2020-02-27T19:08:25.404Z",
"schedule": {
"publish_time": "2024-03-31T08:00:00",
"publish_display_timezone": "Europe/Prague",
"unpublish_time": "2024-04-30T08:00:00",
"unpublish_display_timezone": "Europe/Prague"
},
"contributors": [
{
"id": "gTGVBh3vrho-JIrI7PFrqgbCaKEEyCtXdLQGWxRW9pU"
}
],
"due_date": {
"value": "2024-02-26T06:04:00.7069564Z"
},
"note": "This content is waiting for a legal review."
}Retrieve the latest language variant
Retrieve the latest available version of the specified language variant of a content item. You can also explicitly retrieve the latest published version of the variant.
When retrieving variants, the API returns their latest versions. For example, if the variant contains both the draft and published versions, the API returns the draft version because it's considered the latest.
GET
https://manage.kontent.ai/v2/projects/{environment_id}/items/{item_identifier}/variants/{language_identifier}Request
Path parameters
environment_idrequired · string
Identifies your environment.
item_identifierrequired · string
Identifies a content item by its internal ID (e.g.,
335d17ac-b6ba-4c6a-ae31-23c1193215cb), external ID (e.g., external-id/custom-identifier-for-my-article), or codename (e.g., codename/my_article).language_identifierrequired · string
Identifies the language by its internal ID (e.g.,
d1f95fde-af02-b3b5-bd9e-f232311ccab8) or codename (e.g., codename/es-ES).Request samples
TypeScript
C#
cURL
// Tip: Find more about JS/TS SDKs at https://kontent.ai/learn/javascript
import { ManagementClient } from '@kontent-ai/management-sdk';
const client = new ManagementClient({
environmentId: 'KONTENT_AI_ENVIRONMENT_ID',
apiKey: 'KONTENT_AI_MANAGEMENT_API_KEY',
});
const response = await client
.viewLanguageVariant()
.byItemId('f4b3fc05-e988-4dae-9ac1-a94aba566474')
// .byItemCodename('my_article')
// .byItemExternalId('59713')
.byLanguageId('d1f95fde-af02-b3b5-bd9e-f232311ccab8')
// .byLanguageCodename('es-ES')
.toPromise();
Response
Status (200)
Language variant for the specified language and content item.
elements[]required · array · unique items
List of elements as defined in the item's content type. To recreate the order from the UI, use the order from the content type response, sorted by the content group.
Any of:
Asset element
Custom element
Date & time element
Linked items element
Multiple choice element
Number element
Rich text element
Subpages element
Taxonomy element
Text element
URL slug element
Asset element
elementrequired · object
Reference to a specific object in the environment.
The API uses internal IDs for referencing objects. This means that the reference objects in the API responses will always use internal IDs.
Show child attributes
value[]required · array · unique items
The value of asset elements is an array of Reference objects, each representing a single asset. Every asset can be referenced only once. You can also reference the asset's renditions by the
renditions property. Renditions are specific to images only.When retrieving asset elements, the Management API will always reference assets with their internal IDs. When updating asset elements via the API, you can reference an asset by its internal ID or external ID. Also, you can reference a rendition by its internal ID or external ID.Reference to an asset
idstring · uuid
The referenced object's internal ID.
renditions[]array · max. 1 items
The asset's renditions. Renditions are different editions of the original image used in Kontent.
The
When you update a rendition via the API, it gets changed across all assets using this rendition. But when you do the same in the UI, for example, by duplicating an item that contains a rendition, changes to the rendition are not applied across the items.
To remove a rendition, leave the array empty.
renditions property is optional, but once you specify a rendition for the asset, you need to specify the renditions for all the other referenced assets in the element as well. This is due to the backward compatibility of the API.Show child attributes
workflownestedSchema
Specifies the variant's current workflow and workflow step.
step_identifierrequired · nestedSchema
Reference to the content item variant's workflow step.
step_identifier
idstring · uuid
The referenced object's internal ID.
workflow_stepnestedSchema · read-only
Deprecated
Reference to the variant's current workflow step.
workflow_step
idstring · uuid
The referenced object's internal ID.
itemnestedSchema · read-only
Reference to the content item.
item
idstring · uuid
The referenced object's internal ID.
languagenestedSchema · read-only
Reference to the language of the variant.
The default language will always have the ID of
00000000-0000-0000-0000-000000000000.language
idstring · uuid
The referenced object's internal ID.
last_modifiedstring · read-only · date-time
ISO-8601
formatted date and time of the last change of content.
scheduleobject · read-only
Specifies the variant's scheduled publishing and unpublishing dates.
Show child attributes
contributors[]array · max. 50 items · unique items
Specifies the users assigned as contributors to this variant.When updating language variants, you can specify users by their email address or internal ID.
Show child attributes
due_dateobject
Specifies the variant's due date information.
Show child attributes
notestring · max. 4000 chars
Adds additional instructions or notes for content creators.
Example responses
200
404
{
"elements": [
{
"element": {
"id": "c7c3b834-2222-5677-89c4-b46f04489109"
},
"value": "Text element value"
},
{
"mode": "custom",
"element": {
"id": "53a5eecb-f295-59b4-a07d-19655b6ad860"
},
"value": "custom-url-slug-value"
}
],
"workflow": {
"workflow_identifier": {
"id": "06ea628e-4ec7-4991-91e4-1412995151ee"
},
"step_identifier": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
}
},
"workflow_step": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
},
"item": {
"id": "82ef61f4-ccee-42ac-95e2-1a44beda9625"
},
"language": {
"id": "00000000-0000-0000-0000-000000000000"
},
"last_modified": "2020-02-27T19:08:25.404Z",
"schedule": {
"publish_time": "2024-03-31T08:00:00",
"publish_display_timezone": "Europe/Prague",
"unpublish_time": "2024-04-30T08:00:00",
"unpublish_display_timezone": "Europe/Prague"
},
"contributors": [
{
"id": "gTGVBh3vrho-JIrI7PFrqgbCaKEEyCtXdLQGWxRW9pU"
}
],
"due_date": {
"value": "2024-02-26T06:04:00.7069564Z"
},
"note": "This content is waiting for a legal review."
}Retrieve the published language variant
Retrieve the currently published version of the specified language variant of a content item. You can also retrieve the latest available version of the variant.
GET
https://manage.kontent.ai/v2/projects/{environment_id}/items/{item_identifier}/variants/{language_identifier}/publishedRequest
Path parameters
environment_idrequired · string
Identifies your environment.
item_identifierrequired · string
Identifies a content item by its internal ID (e.g.,
335d17ac-b6ba-4c6a-ae31-23c1193215cb), external ID (e.g., external-id/custom-identifier-for-my-article), or codename (e.g., codename/my_article).language_identifierrequired · string
Identifies the language by its internal ID (e.g.,
d1f95fde-af02-b3b5-bd9e-f232311ccab8) or codename (e.g., codename/es-ES).Request samples
C#
cURL
// Tip: Find more about .NET SDKs at https://kontent.ai/learn/net
using Kontent.Ai.Management;
var client = new ManagementClient(new ManagementOptions
{
ApiKey = "KONTENT_AI_MANAGEMENT_API_KEY",
EnvironmentId = "KONTENT_AI_ENVIRONMENT_ID"
});
var identifier = new LanguageVariantIdentifier(Reference.ById(Guid.Parse("f4b3fc05-e988-4dae-9ac1-a94aba566474")), Reference.ById(Guid.Parse("d1f95fde-af02-b3b5-bd9e-f232311ccab8")));
// var identifier = new LanguageVariantIdentifier(Reference.ById(Guid.Parse("f4b3fc05-e988-4dae-9ac1-a94aba566474")), Reference.ByCodename("es-ES"));
// var identifier = new LanguageVariantIdentifier(Reference.ByCodename("on_roasts"), Reference.ById(Guid.Parse("d1f95fde-af02-b3b5-bd9e-f232311ccab8")));
// var identifier = new LanguageVariantIdentifier(Reference.ByCodename("on_roasts"), Reference.ByCodename("es-ES"));
// var identifier = new LanguageVariantIdentifier(Reference.ByExternalId("59713"), Reference.ById(Guid.Parse("d1f95fde-af02-b3b5-bd9e-f232311ccab8")));
// var identifier = new LanguageVariantIdentifier(Reference.ByExternalId("59713"), Reference.ByCodename("es-ES"));
var response = await client.GetPublishedLanguageVariantAsync(identifier);Response
Status (200)
The currently published language variant of the specified content item.
elements[]required · array · unique items
List of elements as defined in the item's content type. To recreate the order from the UI, use the order from the content type response, sorted by the content group.
Any of:
Asset element
Custom element
Date & time element
Linked items element
Multiple choice element
Number element
Rich text element
Subpages element
Taxonomy element
Text element
URL slug element
Asset element
elementrequired · object
Reference to a specific object in the environment.
The API uses internal IDs for referencing objects. This means that the reference objects in the API responses will always use internal IDs.
Show child attributes
value[]required · array · unique items
The value of asset elements is an array of Reference objects, each representing a single asset. Every asset can be referenced only once. You can also reference the asset's renditions by the
renditions property. Renditions are specific to images only.When retrieving asset elements, the Management API will always reference assets with their internal IDs. When updating asset elements via the API, you can reference an asset by its internal ID or external ID. Also, you can reference a rendition by its internal ID or external ID.Reference to an asset
idstring · uuid
The referenced object's internal ID.
renditions[]array · max. 1 items
The asset's renditions. Renditions are different editions of the original image used in Kontent.
The
When you update a rendition via the API, it gets changed across all assets using this rendition. But when you do the same in the UI, for example, by duplicating an item that contains a rendition, changes to the rendition are not applied across the items.
To remove a rendition, leave the array empty.
renditions property is optional, but once you specify a rendition for the asset, you need to specify the renditions for all the other referenced assets in the element as well. This is due to the backward compatibility of the API.Show child attributes
workflownestedSchema
Specifies the variant's current workflow and workflow step.
step_identifierrequired · nestedSchema
Reference to the content item variant's workflow step.
step_identifier
idstring · uuid
The referenced object's internal ID.
workflow_stepnestedSchema · read-only
Deprecated
Reference to the variant's current workflow step.
workflow_step
idstring · uuid
The referenced object's internal ID.
itemnestedSchema · read-only
Reference to the content item.
item
idstring · uuid
The referenced object's internal ID.
languagenestedSchema · read-only
Reference to the language of the variant.
The default language will always have the ID of
00000000-0000-0000-0000-000000000000.language
idstring · uuid
The referenced object's internal ID.
last_modifiedstring · read-only · date-time
ISO-8601
formatted date and time of the last change of content.
scheduleobject · read-only
Specifies the variant's scheduled publishing and unpublishing dates.
Show child attributes
contributors[]array · max. 50 items · unique items
Specifies the users assigned as contributors to this variant.When updating language variants, you can specify users by their email address or internal ID.
Show child attributes
due_dateobject
Specifies the variant's due date information.
Show child attributes
notestring · max. 4000 chars
Adds additional instructions or notes for content creators.
Example responses
200
404
{
"elements": [
{
"element": {
"id": "c7c3b834-2222-5677-89c4-b46f04489109"
},
"value": "Text element value"
},
{
"mode": "custom",
"element": {
"id": "53a5eecb-f295-59b4-a07d-19655b6ad860"
},
"value": "custom-url-slug-value"
}
],
"workflow": {
"workflow_identifier": {
"id": "06ea628e-4ec7-4991-91e4-1412995151ee"
},
"step_identifier": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
}
},
"workflow_step": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
},
"item": {
"id": "82ef61f4-ccee-42ac-95e2-1a44beda9625"
},
"language": {
"id": "00000000-0000-0000-0000-000000000000"
},
"last_modified": "2020-02-27T19:08:25.404Z",
"schedule": {
"publish_time": "2024-03-31T08:00:00",
"publish_display_timezone": "Europe/Prague",
"unpublish_time": "2024-04-30T08:00:00",
"unpublish_display_timezone": "Europe/Prague"
},
"contributors": [
{
"id": "gTGVBh3vrho-JIrI7PFrqgbCaKEEyCtXdLQGWxRW9pU"
}
],
"due_date": {
"value": "2024-02-26T06:04:00.7069564Z"
},
"note": "This content is waiting for a legal review."
}Retrieve language variants of an item
Retrieve a list of language variants of a content item.
If you want to retrieve metadata information about the parent content item, see how to Retrieve a content item.
When retrieving variants, the API returns their latest versions. For example, if the variant contains both the draft and published versions, the API returns the draft version because it's considered the latest.
GET
https://manage.kontent.ai/v2/projects/{environment_id}/items/{item_identifier}/variantsRequest
Path parameters
environment_idrequired · string
Identifies your environment.
item_identifierrequired · string
Identifies a content item by its internal ID (e.g.,
335d17ac-b6ba-4c6a-ae31-23c1193215cb), external ID (e.g., external-id/custom-identifier-for-my-article), or codename (e.g., codename/my_article).Request samples
TypeScript
C#
cURL
// Tip: Find more about JS/TS SDKs at https://kontent.ai/learn/javascript
import { ManagementClient } from '@kontent-ai/management-sdk';
const client = new ManagementClient({
environmentId: 'KONTENT_AI_ENVIRONMENT_ID',
apiKey: 'KONTENT_AI_MANAGEMENT_API_KEY',
});
const response = await client
.listLanguageVariantsOfItem()
.byItemId('f4b3fc05-e988-4dae-9ac1-a94aba566474')
// .byItemCodename('my_article')
// .byItemExternalId('59713')
.toPromise();
Response
Status (200)
Array of language variants for the specified content item.
array · unique items
List of language variants.
Hide child attributes
elements[]required · array · unique items
List of elements as defined in the item's content type. To recreate the order from the UI, use the order from the content type response, sorted by the content group.
Any of:
Asset element
Custom element
Date & time element
Linked items element
Multiple choice element
Number element
Rich text element
Subpages element
Taxonomy element
Text element
URL slug element
Asset element
elementrequired · object
Reference to a specific object in the environment.
The API uses internal IDs for referencing objects. This means that the reference objects in the API responses will always use internal IDs.
Show child attributes
value[]required · array · unique items
The value of asset elements is an array of Reference objects, each representing a single asset. Every asset can be referenced only once. You can also reference the asset's renditions by the
renditions property. Renditions are specific to images only.When retrieving asset elements, the Management API will always reference assets with their internal IDs. When updating asset elements via the API, you can reference an asset by its internal ID or external ID. Also, you can reference a rendition by its internal ID or external ID.Reference to an asset
idstring · uuid
The referenced object's internal ID.
renditions[]array · max. 1 items
The asset's renditions. Renditions are different editions of the original image used in Kontent.
The
When you update a rendition via the API, it gets changed across all assets using this rendition. But when you do the same in the UI, for example, by duplicating an item that contains a rendition, changes to the rendition are not applied across the items.
To remove a rendition, leave the array empty.
renditions property is optional, but once you specify a rendition for the asset, you need to specify the renditions for all the other referenced assets in the element as well. This is due to the backward compatibility of the API.Show child attributes
workflownestedSchema
Specifies the variant's current workflow and workflow step.
step_identifierrequired · nestedSchema
Reference to the content item variant's workflow step.
step_identifier
idstring · uuid
The referenced object's internal ID.
workflow_stepnestedSchema · read-only
Deprecated
Reference to the variant's current workflow step.
workflow_step
idstring · uuid
The referenced object's internal ID.
itemnestedSchema · read-only
Reference to the content item.
item
idstring · uuid
The referenced object's internal ID.
languagenestedSchema · read-only
Reference to the language of the variant.
The default language will always have the ID of
00000000-0000-0000-0000-000000000000.language
idstring · uuid
The referenced object's internal ID.
last_modifiedstring · read-only · date-time
ISO-8601
formatted date and time of the last change of content.
scheduleobject · read-only
Specifies the variant's scheduled publishing and unpublishing dates.
Hide child attributes
publish_timestring · nullable · read-only · date-time
The scheduled publish date and time formatted in ISO-8601
.To change the variant's scheduled publish time, use the Publish or schedule endpoint.
publish_display_timezonestring · nullable · read-only
The IANA time zone name used to display the time offset of the scheduled publish date in the UI.The time zone doesn't modify the scheduled publish date specified in the
publish_time property.
If omitted, the scheduled publish date is displayed in a local time zone.unpublish_timestring · nullable · read-only · date-time
The scheduled unpublish date and time formatted in ISO-8601
.To change the variant's scheduled unpublish time, use the Unpublish or schedule endpoint.
unpublish_display_timezonestring · nullable · read-only
IANA time zone name used to display the time offset of the scheduled unpublish date in the UI.The time zone doesn't modify the schedule unpublish date specified in the
unpublish_time property.
If omitted, the scheduled unpublish date is displayed in a local time zone.contributors[]array · max. 50 items · unique items
Specifies the users assigned as contributors to this variant.When updating language variants, you can specify users by their email address or internal ID.
Hide child attributes
idstring
The user's internal ID.
emailstring · email
The user's email address.
notestring · max. 4000 chars
Adds additional instructions or notes for content creators.
Example responses
200
404
{
"": {
"elements": [
{
"element": {
"id": "c7c3b834-2222-5677-89c4-b46f04489109"
},
"value": "Text element value"
},
{
"mode": "custom",
"element": {
"id": "53a5eecb-f295-59b4-a07d-19655b6ad860"
},
"value": "custom-url-slug-value"
}
],
"workflow": {
"workflow_identifier": {
"id": "06ea628e-4ec7-4991-91e4-1412995151ee"
},
"step_identifier": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
}
},
"workflow_step": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
},
"item": {
"id": "82ef61f4-ccee-42ac-95e2-1a44beda9625"
},
"language": {
"id": "00000000-0000-0000-0000-000000000000"
},
"last_modified": "2020-02-27T19:08:25.404Z",
"schedule": {
"publish_time": "2024-03-31T08:00:00",
"publish_display_timezone": "Europe/Prague",
"unpublish_time": "2024-04-30T08:00:00",
"unpublish_display_timezone": "Europe/Prague"
},
"contributors": [
{
"id": "gTGVBh3vrho-JIrI7PFrqgbCaKEEyCtXdLQGWxRW9pU"
}
],
"due_date": {
"value": "2024-02-26T06:04:00.7069564Z"
},
"note": "This content is waiting for a legal review."
}
}List language variants by type
Retrieve a dynamically paginated list of language variants for a specified content type.
When retrieving variants, the API returns their latest versions. For example, if the variant contains both the draft and published versions, the API returns the draft version because it's considered the latest.
GET
https://manage.kontent.ai/v2/projects/{environment_id}/types/{type_identifier}/variantsRequest
Path parameters
environment_idrequired · string
Identifies your environment.
type_identifierrequired · string
Identifies the content type by internal ID (e.g.,
269202ad-1d9d-47fd-b3e8-bdb05b3e3cf0), external ID (e.g., external-id/Content-Type-123), or codename (e.g., codename/hosted_video).Header parameters
x-continuationstring
Determines the page of results to retrieve.To get the next page of results, check the pagination object in the API response and set the
x-continuation header parameter to the value of the continuation_token property.Request samples
TypeScript
C#
cURL
// Tip: Find more about JS/TS SDKs at https://kontent.ai/learn/javascript
import { ManagementClient } from '@kontent-ai/management-sdk';
const client = new ManagementClient({
environmentId: 'KONTENT_AI_ENVIRONMENT_ID',
apiKey: 'KONTENT_AI_MANAGEMENT_API_KEY',
});
// Gets the first page of results
const response = await client
.listLanguageVariantsOfContentType()
.byTypeCodename('article')
.toPromise();
// Gets all pages of results
// const response = await client.listLanguageVariantsOfContentType()
// .byTypeCodename('article')
// .toAllPromise();
Response
Status (200)
A dynamically paginated list of language variants based on the specified content type.
variants[]required · array · unique items
List of language variants.
Show child attributes
paginationrequired · object
Information about the next page of results.
Show child attributes
Example responses
200
400
404
{
"variants": {
"elements": [
{
"element": {
"id": "c7c3b834-2222-5677-89c4-b46f04489109"
},
"value": "Text element value"
},
{
"mode": "custom",
"element": {
"id": "53a5eecb-f295-59b4-a07d-19655b6ad860"
},
"value": "custom-url-slug-value"
}
],
"workflow": {
"workflow_identifier": {
"id": "06ea628e-4ec7-4991-91e4-1412995151ee"
},
"step_identifier": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
}
},
"workflow_step": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
},
"item": {
"id": "82ef61f4-ccee-42ac-95e2-1a44beda9625"
},
"language": {
"id": "00000000-0000-0000-0000-000000000000"
},
"last_modified": "2020-02-27T19:08:25.404Z",
"schedule": {
"publish_time": "2024-03-31T08:00:00",
"publish_display_timezone": "Europe/Prague",
"unpublish_time": "2024-04-30T08:00:00",
"unpublish_display_timezone": "Europe/Prague"
},
"contributors": [
{
"id": "gTGVBh3vrho-JIrI7PFrqgbCaKEEyCtXdLQGWxRW9pU"
}
],
"due_date": {
"value": "2024-02-26T06:04:00.7069564Z"
},
"note": "This content is waiting for a legal review."
},
"pagination": {
"continuation_token": "W3sidG9rZW4iOiIrUklEOn...",
"next_page": "https://manage.kontent.ai/v2/your/chosen/list/endpoint"
}
}List language variants containing components by type
Retrieve a dynamically paginated list of language variants that contain components specified by a content type.The returned language variants may be based on any content type as long as the variants contain at least one component of the specified type. You may want to get language variants with specific components when migrating content based on a specific content type.
When retrieving variants, the API returns their latest versions. For example, if the variant contains both the draft and published versions, the API returns the draft version because it's considered the latest.
GET
https://manage.kontent.ai/v2/projects/{environment_id}/types/{type_identifier}/componentsRequest
Path parameters
environment_idrequired · string
Identifies your environment.
type_identifierrequired · string
Identifies the content type by internal ID (e.g.,
269202ad-1d9d-47fd-b3e8-bdb05b3e3cf0), external ID (e.g., external-id/Content-Type-123), or codename (e.g., codename/hosted_video).Header parameters
x-continuationstring
Determines the page of results to retrieve.To get the next page of results, check the pagination object in the API response and set the
x-continuation header parameter to the value of the continuation_token property.Request samples
TypeScript
C#
cURL
// Tip: Find more about JS/TS SDKs at https://kontent.ai/learn/javascript
import { ManagementClient } from '@kontent-ai/management-sdk';
const client = new ManagementClient({
environmentId: 'KONTENT_AI_ENVIRONMENT_ID',
apiKey: 'KONTENT_AI_MANAGEMENT_API_KEY',
});
// Gets the first page of results
const response = await client
.listLanguageVariantsOfContentTypeWithComponents()
.byTypeID('6434e475-5a29-4866-9fd1-6d1ca873f5be')
// .byTypeCodename('article')
.toPromise();
// Gets all pages of results
// const response = await client.listLanguageVariantsOfContentTypeWithComponents()
// .byTypeCodename('article')
// .toAllPromise();
Response
Status (200)
A dynamically paginated list of language variants that contain components based on the specified content type.
variants[]required · array · unique items
A list of language variants.
Show child attributes
paginationrequired · object
Information about the next page of results.
Show child attributes
Example responses
200
400
404
{
"variants": {
"elements": [
{
"element": {
"id": "c7c3b834-2222-5677-89c4-b46f04489109"
},
"value": "Text element value"
},
{
"mode": "custom",
"element": {
"id": "53a5eecb-f295-59b4-a07d-19655b6ad860"
},
"value": "custom-url-slug-value"
}
],
"workflow": {
"workflow_identifier": {
"id": "06ea628e-4ec7-4991-91e4-1412995151ee"
},
"step_identifier": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
}
},
"workflow_step": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
},
"item": {
"id": "82ef61f4-ccee-42ac-95e2-1a44beda9625"
},
"language": {
"id": "00000000-0000-0000-0000-000000000000"
},
"last_modified": "2020-02-27T19:08:25.404Z",
"schedule": {
"publish_time": "2024-03-31T08:00:00",
"publish_display_timezone": "Europe/Prague",
"unpublish_time": "2024-04-30T08:00:00",
"unpublish_display_timezone": "Europe/Prague"
},
"contributors": [
{
"id": "gTGVBh3vrho-JIrI7PFrqgbCaKEEyCtXdLQGWxRW9pU"
}
],
"due_date": {
"value": "2024-02-26T06:04:00.7069564Z"
},
"note": "This content is waiting for a legal review."
},
"pagination": {
"continuation_token": "W3sidG9rZW4iOiIrUklEOn...",
"next_page": "https://manage.kontent.ai/v2/your/chosen/list/endpoint"
}
}List language variants by collection
Retrieve a dynamically paginated list of language variants for a specified collection.
When retrieving variants, the API returns their latest versions. For example, if the variant contains both the draft and published versions, the API returns the draft version because it's considered the latest.
GET
https://manage.kontent.ai/v2/projects/{environment_id}/collections/{collection_identifier}/variantsRequest
Path parameters
environment_idrequired · string
Identifies your environment.
collection_identifierrequired · string
Identifies the content collection by its internal ID (e.g.,
b7aa4a53-d9b1-48cf-b7a6-ed0b182c4b89), codename (e.g., codename/global_collection), or external ID (e.g., external-id/my-collection-id).Header parameters
x-continuationstring
Determines the page of results to retrieve.To get the next page of results, check the pagination object in the API response and set the
x-continuation header parameter to the value of the continuation_token property.Request samples
TypeScript
C#
cURL
// Tip: Find more about JS/TS SDKs at https://kontent.ai/learn/javascript
import { ManagementClient } from '@kontent-ai/management-sdk';
const client = new ManagementClient({
environmentId: 'KONTENT_AI_ENVIRONMENT_ID',
apiKey: 'KONTENT_AI_MANAGEMENT_API_KEY',
});
// Gets the first page of results
const response = await client
.listLanguageVariantsByCollection()
.byCollectionCodename('important_collection')
.toPromise();
// Gets all pages of results
// const response = await client.listLanguageVariantsByCollection()
// .byCollectionCodename('important_collection')
// .toAllPromise();
Response
Status (200)
A dynamically paginated list of language variants that belong to the specified collection.
variants[]required · array · unique items
List of language variants in the specified collection.
Show child attributes
paginationrequired · object
Information about the next page of results.
Show child attributes
Example responses
200
400
404
{
"variants": {
"elements": [
{
"element": {
"id": "c7c3b834-2222-5677-89c4-b46f04489109"
},
"value": "Text element value"
},
{
"mode": "custom",
"element": {
"id": "53a5eecb-f295-59b4-a07d-19655b6ad860"
},
"value": "custom-url-slug-value"
}
],
"workflow": {
"workflow_identifier": {
"id": "06ea628e-4ec7-4991-91e4-1412995151ee"
},
"step_identifier": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
}
},
"workflow_step": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
},
"item": {
"id": "82ef61f4-ccee-42ac-95e2-1a44beda9625"
},
"language": {
"id": "00000000-0000-0000-0000-000000000000"
},
"last_modified": "2020-02-27T19:08:25.404Z",
"schedule": {
"publish_time": "2024-03-31T08:00:00",
"publish_display_timezone": "Europe/Prague",
"unpublish_time": "2024-04-30T08:00:00",
"unpublish_display_timezone": "Europe/Prague"
},
"contributors": [
{
"id": "gTGVBh3vrho-JIrI7PFrqgbCaKEEyCtXdLQGWxRW9pU"
}
],
"due_date": {
"value": "2024-02-26T06:04:00.7069564Z"
},
"note": "This content is waiting for a legal review."
},
"pagination": {
"continuation_token": "W3sidG9rZW4iOiIrUklEOn...",
"next_page": "https://manage.kontent.ai/v2/your/chosen/list/endpoint"
}
}List language variants by space
Retrieve a dynamically paginated list of language variants for a specified space.Language variants are not directly connected to spaces. Rather, the parent content item of each language variant is assigned to a specific collection. Each collection can be linked to zero, one, or more spaces.
When retrieving variants, the API returns their latest versions. For example, if the variant contains both the draft and published versions, the API returns the draft version because it's considered the latest.
GET
https://manage.kontent.ai/v2/projects/{environment_id}/spaces/{space_identifier}/variantsRequest
Path parameters
environment_idrequired · string
Identifies your environment.
space_identifierrequired · string
Identifies a space by it's internal ID (eg.,
6291c693-f6e4-4a6b-ac67-5c31c32f9388) or codename (eg., codename/space_1)Header parameters
x-continuationstring
Determines the page of results to retrieve.To get the next page of results, check the pagination object in the API response and set the
x-continuation header parameter to the value of the continuation_token property.Request samples
C#
cURL
// Tip: Find more about .NET SDKs at https://kontent.ai/learn/net
using Kontent.Ai.Management;
var client = new ManagementClient(new ManagementOptions
{
ApiKey = "KONTENT_AI_MANAGEMENT_API_KEY",
EnvironmentId = "KONTENT_AI_ENVIRONMENT_ID"
});
var identifier = Reference.ById(Guid.Parse("6291c693-f6e4-4a6b-ac67-5c31c32f9388"));
// var identifier = Reference.ByCodename("space_1");
// Gets the first page of results
var response = await client.ListLanguageVariantsBySpaceAsync(identifier);Response
Status (200)
A dynamically paginated list of language variants that belong to the specified space.
variants[]required · array · unique items
List of language variants in the specified space.
Show child attributes
paginationrequired · object
Information about the next page of results.
Show child attributes
Example responses
200
400
404
{
"variants": {
"elements": [
{
"element": {
"id": "c7c3b834-2222-5677-89c4-b46f04489109"
},
"value": "Text element value"
},
{
"mode": "custom",
"element": {
"id": "53a5eecb-f295-59b4-a07d-19655b6ad860"
},
"value": "custom-url-slug-value"
}
],
"workflow": {
"workflow_identifier": {
"id": "06ea628e-4ec7-4991-91e4-1412995151ee"
},
"step_identifier": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
}
},
"workflow_step": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
},
"item": {
"id": "82ef61f4-ccee-42ac-95e2-1a44beda9625"
},
"language": {
"id": "00000000-0000-0000-0000-000000000000"
},
"last_modified": "2020-02-27T19:08:25.404Z",
"schedule": {
"publish_time": "2024-03-31T08:00:00",
"publish_display_timezone": "Europe/Prague",
"unpublish_time": "2024-04-30T08:00:00",
"unpublish_display_timezone": "Europe/Prague"
},
"contributors": [
{
"id": "gTGVBh3vrho-JIrI7PFrqgbCaKEEyCtXdLQGWxRW9pU"
}
],
"due_date": {
"value": "2024-02-26T06:04:00.7069564Z"
},
"note": "This content is waiting for a legal review."
},
"pagination": {
"continuation_token": "W3sidG9rZW4iOiIrUklEOn...",
"next_page": "https://manage.kontent.ai/v2/your/chosen/list/endpoint"
}
}Filter language variants (early access)
Filter content items and their language variants using advanced criteria such as search phrases, contributors, workflow steps, taxonomies, and more.The endpoint returns a paginated list of content items and their language variants that match the specified filters. All filters are optional and can be omitted or set to
Early accessThis endpoint is still evolving, and its URL, parameters, and response structure may be subject to change. To ensure future compatibility, avoid hard dependencies on the exact endpoint path or response shape.
Try the functionality and share your experience with us to help improve it.
null.
POST
https://manage.kontent.ai/v2/projects/{environment_id}/early-access/variants/filterRequest
Path parameters
environment_idrequired · string
Identifies your environment.
Body schema
Application/json
Specifies the filters and sorting options for retrieving language variants.
filtersobject · write-only
Filtering criteria for language variants. All properties are optional. Empty arrays are not allowed.
Show child attributes
orderobject · write-only
The sorting criteria for the results.
Show child attributes
include_contentboolean
Determines whether to also include the variant’s element values in the response. By default, only system attributes are returned.
Default value:
falseRequest samples
TypeScript
C#
// Tip: Find more about JS/TS SDKs at https://kontent.ai/learn/javascript
import { ManagementClient } from '@kontent-ai/management-sdk';
const client = new ManagementClient({
environmentId: 'KONTENT_AI_ENVIRONMENT_ID',
apiKey: 'KONTENT_AI_MANAGEMENT_API_KEY',
});
// Some SDK queries are available under the `earlyAccess` namespace.
// This endpoint is in early access and may evolve before general availability.
// Use with caution in production environments.
// Filters variants by search phrase and includes element content
const response = await client.earlyAccess
.filterLanguageVariants()
.withData({
filters: {
search_phrase: 'home',
},
order: {
by: 'last_modified',
direction: 'desc',
},
include_content: true,
})
.toPromise(); // or `toAllPromise()`
Response
Status (200)
A dynamically paginated list of content items and their language variants matchng the specified filters.
data[]required · array
A list of filtered results.
Show child attributes
paginationrequired · object
Information about the next page of results.
Show child attributes
Example responses
200
400
{
"data": {
"item": {
"id": "335d17ac-b6ba-4c6a-ae31-23c1193215cb",
"name": "My article",
"codename": "my_article",
"type": {
"id": "d89b6348-7cdc-444a-8e1e-adacb564f2a2"
},
"collection": {
"id": "00000000-0000-0000-0000-000000000000"
},
"spaces": [
{
"id": "dcbf90fb-7135-4465-8102-b3e739821ed8"
},
{
"id": "39efe8a4-23d2-4d3a-8dfb-07789668474f"
}
],
"sitemap_locations": [],
"external_id": "custom-identifier-for-my-article",
"last_modified": "2023-04-04T13:45:30.7692802Z"
},
"variant": {
"elements": [
{
"element": {
"id": "c7c3b834-2222-5677-89c4-b46f04489109"
},
"value": "Text element value"
},
{
"mode": "custom",
"element": {
"id": "53a5eecb-f295-59b4-a07d-19655b6ad860"
},
"value": "custom-url-slug-value"
}
],
"workflow": {
"workflow_identifier": {
"id": "06ea628e-4ec7-4991-91e4-1412995151ee"
},
"step_identifier": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
}
},
"workflow_step": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
},
"item": {
"id": "82ef61f4-ccee-42ac-95e2-1a44beda9625"
},
"language": {
"id": "00000000-0000-0000-0000-000000000000"
},
"last_modified": "2020-02-27T19:08:25.404Z",
"schedule": {
"publish_time": "2024-03-31T08:00:00",
"publish_display_timezone": "Europe/Prague",
"unpublish_time": "2024-04-30T08:00:00",
"unpublish_display_timezone": "Europe/Prague"
},
"contributors": [
{
"id": "gTGVBh3vrho-JIrI7PFrqgbCaKEEyCtXdLQGWxRW9pU"
}
],
"due_date": {
"value": "2024-02-26T06:04:00.7069564Z"
},
"note": "This content is waiting for a legal review."
}
},
"pagination": {
"continuation_token": "W3sidG9rZW4iOiIrUklEOn...",
"next_page": "https://manage.kontent.ai/v2/your/chosen/list/endpoint"
}
}Create a new version of a language variant
Create a new version of a published language variant while keeping the original version published and available via Delivery API. This is the same as creating new versions in the UI.You can only create new versions of published language variants that don't already have an existing Draft (unpublished) version.
PUT
https://manage.kontent.ai/v2/projects/{environment_id}/items/{item_identifier}/variants/{language_identifier}/new-versionRequest
Path parameters
environment_idrequired · string
Identifies your environment.
language_identifierrequired · string
Identifies the language by its internal ID (e.g.,
d1f95fde-af02-b3b5-bd9e-f232311ccab8) or codename (e.g., codename/es-ES).item_identifierrequired · string
Identifies a content item by its internal ID (e.g.,
335d17ac-b6ba-4c6a-ae31-23c1193215cb), external ID (e.g., external-id/custom-identifier-for-my-article), or codename (e.g., codename/my_article).Request samples
TypeScript
C#
cURL
// Tip: Find more about JS/TS SDKs at https://kontent.ai/learn/javascript
import { ManagementClient } from '@kontent-ai/management-sdk';
const client = new ManagementClient({
environmentId: 'KONTENT_AI_ENVIRONMENT_ID',
apiKey: 'KONTENT_AI_MANAGEMENT_API_KEY',
});
const response = await client
.createNewVersionOfLanguageVariant()
.byItemId('f4b3fc05-e988-4dae-9ac1-a94aba566474')
// .byItemCodename('my_article')
// .byItemExternalId('59713')
.byLanguageId('d1f95fde-af02-b3b5-bd9e-f232311ccab8')
// .byLanguageCodename('es-ES')
.toPromise();
Response
Status (204)
A new version of the specified published language variant was created.
Empty response
Example responses
400
404
{
"request_id": "550c4c30-1b9c-4fe4-8140-a9cda5cd7c11",
"error_code": 214,
"message": "Cannot create a new version of a language variant that is not published."
}Upsert a language variant
Add content to a language variant in an active language or update an existing language variant. You cannot update an existing language variant if its workflow step is set to Archived, Published, or Scheduled.When creating a new variant:
- The content item for the variant must already exist. The item isn't created automatically on variant upsert.
- Non-localizable elements are filtered out for variants in non-default languages.
PUT
https://manage.kontent.ai/v2/projects/{environment_id}/items/{item_identifier}/variants/{language_identifier}Request
Path parameters
environment_idrequired · string
Identifies your environment.
item_identifierrequired · string
Identifies a content item by its internal ID (e.g.,
335d17ac-b6ba-4c6a-ae31-23c1193215cb), external ID (e.g., external-id/custom-identifier-for-my-article), or codename (e.g., codename/my_article).language_identifierrequired · string
Identifies the language by its internal ID (e.g.,
d1f95fde-af02-b3b5-bd9e-f232311ccab8) or codename (e.g., codename/es-ES).Body schema
Application/json
Specifies the language variant's content and metadata to update.
elements[]required · array · unique items
List of elements as defined in the item's content type. To recreate the order from the UI, use the order from the content type response, sorted by the content group.
Any of:
Asset element
Custom element
Date & time element
Linked items element
Multiple choice element
Number element
Rich text element
Subpages element
Taxonomy element
Text element
URL slug element
Asset element
elementrequired · object
Reference to a specific object in the environment.
The API uses internal IDs for referencing objects. This means that the reference objects in the API responses will always use internal IDs.
Show child attributes
value[]required · array · unique items
The value of asset elements is an array of Reference objects, each representing a single asset. Every asset can be referenced only once. You can also reference the asset's renditions by the
renditions property. Renditions are specific to images only.When retrieving asset elements, the Management API will always reference assets with their internal IDs. When updating asset elements via the API, you can reference an asset by its internal ID or external ID. Also, you can reference a rendition by its internal ID or external ID.Reference to an asset
idstring · uuid
The referenced object's internal ID.
codenamestring · write-only
The referenced object's codename. The value of the
codename property must meet the conditions defined in rules for codenames.external_idstring · write-only
The referenced object’s external ID. The value of the
external_id property must not contain the following characters: /, ., ;.renditions[]array · max. 1 items
The asset's renditions. Renditions are different editions of the original image used in Kontent.
The
When you update a rendition via the API, it gets changed across all assets using this rendition. But when you do the same in the UI, for example, by duplicating an item that contains a rendition, changes to the rendition are not applied across the items.
To remove a rendition, leave the array empty.
renditions property is optional, but once you specify a rendition for the asset, you need to specify the renditions for all the other referenced assets in the element as well. This is due to the backward compatibility of the API.Show child attributes
workflownestedSchema
Specifies the variant's current workflow and workflow step.
step_identifierrequired · nestedSchema
Reference to the content item variant's workflow step.
idstring · uuid
The referenced object's internal ID.
codenamestring · write-only
The referenced object's codename.
contributors[]array · max. 50 items · unique items
Specifies the users assigned as contributors to this variant.When updating language variants, you can specify users by their email address or internal ID.
Show child attributes
due_dateobject
Specifies the variant's due date information.
Show child attributes
notestring · max. 4000 chars
Adds additional instructions or notes for content creators.
Request samples
Payload
TypeScript
C#
cURL
// Tip: Find more about JS/TS SDKs at https://kontent.ai/learn/javascript
import { ManagementClient } from '@kontent-ai/management-sdk';
const client = new ManagementClient({
environmentId: 'KONTENT_AI_ENVIRONMENT_ID',
apiKey: 'KONTENT_AI_MANAGEMENT_API_KEY',
});
const response = await client
.upsertLanguageVariant()
.byItemId('f4b3fc05-e988-4dae-9ac1-a94aba566474')
// .byItemCodename('my_article')
// .byItemExternalId('59713')
.byLanguageId('d1f95fde-af02-b3b5-bd9e-f232311ccab8')
// .byLanguageCodename('es-ES')
.withData((builder) => {
return {
elements: [
builder.taxonomyElement({
element: {
codename: 'personas',
},
value: [
{
codename: 'barista',
},
{
codename: 'coffee_blogger',
},
],
}),
builder.dateTimeElement({
element: {
codename: 'post_date',
},
value: '2014-11-07T00:00:00Z',
display_timezone: 'Australia/Sydney',
}),
builder.textElement({
element: {
codename: 'summary',
},
value: 'Tostar granos de café puede tardar de 6 a 13 minutos. ...',
}),
builder.linkedItemsElement({
element: {
codename: 'related_articles',
},
value: [
{
codename: 'coffee_processing_techniques',
},
{
codename: 'origins_of_arabica_bourbon',
},
],
}),
builder.textElement({
element: {
codename: 'meta_keywords',
},
value: 'asados, café',
}),
builder.textElement({
element: {
codename: 'meta_description',
},
value: 'Tostar granos de café puede tardar de 6 a 13 minutos. ...',
}),
builder.urlSlugElement({
element: {
codename: 'url_pattern',
},
mode: 'autogenerated',
value: undefined,
}),
],
workflow: {
step_identifier: {
codename: 'my_workflow_step',
},
workflow_identifier: {
codename: 'my_workflow',
},
},
};
})
.toPromise();
Response
Status (200)
Status (201)
The updated language variant.
elements[]required · array · unique items
List of elements as defined in the item's content type. To recreate the order from the UI, use the order from the content type response, sorted by the content group.
Any of:
Asset element
Custom element
Date & time element
Linked items element
Multiple choice element
Number element
Rich text element
Subpages element
Taxonomy element
Text element
URL slug element
Asset element
elementrequired · object
Reference to a specific object in the environment.
The API uses internal IDs for referencing objects. This means that the reference objects in the API responses will always use internal IDs.
Show child attributes
value[]required · array · unique items
The value of asset elements is an array of Reference objects, each representing a single asset. Every asset can be referenced only once. You can also reference the asset's renditions by the
renditions property. Renditions are specific to images only.When retrieving asset elements, the Management API will always reference assets with their internal IDs. When updating asset elements via the API, you can reference an asset by its internal ID or external ID. Also, you can reference a rendition by its internal ID or external ID.Reference to an asset
idstring · uuid
The referenced object's internal ID.
renditions[]array · max. 1 items
The asset's renditions. Renditions are different editions of the original image used in Kontent.
The
When you update a rendition via the API, it gets changed across all assets using this rendition. But when you do the same in the UI, for example, by duplicating an item that contains a rendition, changes to the rendition are not applied across the items.
To remove a rendition, leave the array empty.
renditions property is optional, but once you specify a rendition for the asset, you need to specify the renditions for all the other referenced assets in the element as well. This is due to the backward compatibility of the API.Show child attributes
workflownestedSchema
Specifies the variant's current workflow and workflow step.
step_identifierrequired · nestedSchema
Reference to the content item variant's workflow step.
step_identifier
idstring · uuid
The referenced object's internal ID.
workflow_stepnestedSchema · read-only
Deprecated
Reference to the variant's current workflow step.
workflow_step
idstring · uuid
The referenced object's internal ID.
itemnestedSchema · read-only
Reference to the content item.
item
idstring · uuid
The referenced object's internal ID.
languagenestedSchema · read-only
Reference to the language of the variant.
The default language will always have the ID of
00000000-0000-0000-0000-000000000000.language
idstring · uuid
The referenced object's internal ID.
last_modifiedstring · read-only · date-time
ISO-8601
formatted date and time of the last change of content.
scheduleobject · read-only
Specifies the variant's scheduled publishing and unpublishing dates.
Show child attributes
contributors[]array · max. 50 items · unique items
Specifies the users assigned as contributors to this variant.When updating language variants, you can specify users by their email address or internal ID.
Show child attributes
due_dateobject
Specifies the variant's due date information.
Show child attributes
notestring · max. 4000 chars
Adds additional instructions or notes for content creators.
Example responses
200
201
400
404
{
"elements": [
{
"element": {
"id": "108ed7c0-fc8c-c0ec-d0b5-5a8071408b54"
},
"value": [
{
"id": "117cdfae-52cf-4885-b271-66aef6825612"
}
]
},
{
"element": {
"id": "f2ff5e3f-a9ca-4604-58b0-34a2ad6a7cf1"
},
"mode": "autogenerated",
"value": "my-articles-title"
},
{
"element": {
"id": "63793ba4-6004-a93c-68ca-52a1f0482bca"
},
"value": [
{
"id": "f6daed1f-3f3b-4036-a9c7-9519359b9601"
},
{
"id": "a6daed1f-4f3b-4037-a9c1-9537359b9600"
}
]
},
{
"element": {
"id": "68f65095-c9b4-05d6-a473-2883c2f0c7af"
},
"value": "A tiny little plaintext."
}
],
"workflow": {
"workflow_identifier": {
"id": "06ea628e-4ec7-4991-91e4-1412995151ee"
},
"step_identifier": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
}
},
"workflow_step": {
"id": "dc87d7cf-424b-4b89-9519-c9f79a3458b7"
},
"item": {
"id": "f4b3fc05-e988-4dae-9ac1-a94aba566474"
},
"language": {
"id": "d1f95fde-af02-b3b5-bd9e-f232311ccab8"
},
"last_modified": "2020-11-21T09:08:33.2229841Z",
"schedule": {
"publish_time": "2024-03-31T08:00:00",
"publish_display_timezone": "Europe/Prague",
"unpublish_time": "2024-04-30T08:00:00",
"unpublish_display_timezone": "Europe/Prague"
},
"contributors": [
{
"id": "gTGVBh3vrho-JIrI7PFrqgbCaKEEyCtXdLQGWxRW9pU"
}
],
"due_date": {
"value": "2024-02-26T06:04:00.7069564Z"
},
"note": "Make sure the graphic materials we use here are on brand."
}Change the workflow of a language variant
Move the specified variant to the specified workflow and workflow step. This is the same as updating the workflow in the UI.
- The workflow step of a published language variant cannot be changed. You need to unpublish or create a new version first.
- For publishing and scheduling, use the Publish endpoint to move the specified variant to the Published step.
- For unpublishing and archiving, use the Unpublish endpoint to move the specified variant to the Archived step.
PUT
https://manage.kontent.ai/v2/projects/{environment_id}/items/{item_identifier}/variants/{language_identifier}/change-workflowRequest
Path parameters
environment_idrequired · string
Identifies your environment.
item_identifierrequired · string
Identifies a content item by its internal ID (e.g.,
335d17ac-b6ba-4c6a-ae31-23c1193215cb), external ID (e.g., external-id/custom-identifier-for-my-article), or codename (e.g., codename/my_article).language_identifierrequired · string
Identifies the language by its internal ID (e.g.,
d1f95fde-af02-b3b5-bd9e-f232311ccab8) or codename (e.g., codename/es-ES).Body schema
Application/json
Specify the workflow and workflow step to move the variant.
step_identifierrequired · nestedSchema
Reference to the content item variant's workflow step.
idstring · uuid
The referenced object's internal ID.
codenamestring · write-only
The referenced object's codename.
Request samples
TypeScript
cURL
// Tip: Find more about JS/TS SDKs at https://kontent.ai/learn/javascript
import { ManagementClient } from '@kontent-ai/management-sdk';
const client = new ManagementClient({
environmentId: 'KONTENT_AI_ENVIRONMENT_ID',
apiKey: 'KONTENT_AI_MANAGEMENT_API_KEY',
});
const response = await client
.changeWorkflowOfLanguageVariant()
.byItemId('f4b3fc05-e988-4dae-9ac1-a94aba566474')
// .byItemCodename('my_article')
// .byItemExternalId('59713')
.byLanguageId('d1f95fde-af02-b3b5-bd9e-f232311ccab8')
// .byLanguageCodename('es-ES')
.withData({
step_identifier: {
id: 'dc87d7cf-424b-4b89-9519-c9f79a3458b7',
// codename: 'review'
},
workflow_identifier: {
id: '06ea628e-4ec7-4991-91e4-1412995151ee',
// codename: 'default'
},
})
.toPromise();
Response
Status (204)
The variant was moved to the specified workflow step in the specified workflow.
Empty response
Example responses
400
404
{
"request_id": "385bc5fe-cc64-4924-bee1-78f271d4bbc5",
"error_code": 215,
"message": "Cannot change workflow step to Published. If you want to publish a language variant via the Management API, use the '/publish' endpoint instead."
}Change the workflow step of a language variant
Deprecated
- The workflow step of a published language variant cannot be changed. You need to unpublish or create a new version first.
- For publishing and scheduling, use the Publish endpoint to move the specified variant to the Published step.
- For unpublishing and archiving, use the Unpublish endpoint to move the specified variant to the Archived step.
PUT
https://manage.kontent.ai/v2/projects/{environment_id}/items/{item_identifier}/variants/{language_identifier}/workflow/{workflow_step_identifier}Request
Path parameters
environment_idrequired · string
Identifies your environment.
item_identifierrequired · string
Identifies a content item by its internal ID (e.g.,
335d17ac-b6ba-4c6a-ae31-23c1193215cb), external ID (e.g., external-id/custom-identifier-for-my-article), or codename (e.g., codename/my_article).language_identifierrequired · string
Identifies the language by its internal ID (e.g.,
d1f95fde-af02-b3b5-bd9e-f232311ccab8) or codename (e.g., codename/es-ES).workflow_step_identifierrequired · string
Identifies the workflow step by its internal ID (e.g.,
13145328-b946-4e47-9c9d-6f40c7aaeaef) or codename (e.g., codename/draft).Request samples
TypeScript
C#
cURL
// Tip: Find more about JS/TS SDKs at https://kontent.ai/learn/javascript
import { ManagementClient } from '@kontent-ai/management-sdk';
const client = new ManagementClient({
environmentId: 'KONTENT_AI_ENVIRONMENT_ID',
apiKey: 'KONTENT_AI_MANAGEMENT_API_KEY',
});
const response = await client
.changeWorkflowStepOfLanguageVariant()
.byItemId('f4b3fc05-e988-4dae-9ac1-a94aba566474')
// .byItemCodename('my_article')
// .byItemExternalId('59713')
.byLanguageId('d1f95fde-af02-b3b5-bd9e-f232311ccab8')
// .byLanguageCodename('es-ES')
.byWorkflowStepId('16221cc2-bd22-4414-a513-f3e555c0fc93')
.toPromise();
Response
Status (204)
The workflow step of the specified language variant was updated.
Empty response
Example responses
400
404
{
"request_id": "385bc5fe-cc64-4924-bee1-78f271d4bbc5",
"error_code": 215,
"message": "Cannot change workflow step to Published. If you want to publish a language variant via the Management API, use the '/publish' endpoint instead."
}Delete a language variant
Deletes a specific language variant. If you want to delete all language variants of a content item, see how to Delete a content item.
When you delete the last variant of a content item, the whole content item is deleted.
DELETE
https://manage.kontent.ai/v2/projects/{environment_id}/items/{item_identifier}/variants/{language_identifier}Request
Path parameters
environment_idrequired · string
Identifies your environment.
item_identifierrequired · string
Identifies a content item by its internal ID (e.g.,
335d17ac-b6ba-4c6a-ae31-23c1193215cb), external ID (e.g., external-id/custom-identifier-for-my-article), or codename (e.g., codename/my_article).language_identifierrequired · string
Identifies the language by its internal ID (e.g.,
d1f95fde-af02-b3b5-bd9e-f232311ccab8) or codename (e.g., codename/es-ES).Request samples
TypeScript
C#
cURL
// Tip: Find more about JS/TS SDKs at https://kontent.ai/learn/javascript
import { ManagementClient } from '@kontent-ai/management-sdk';
const client = new ManagementClient({
environmentId: 'KONTENT_AI_ENVIRONMENT_ID',
apiKey: 'KONTENT_AI_MANAGEMENT_API_KEY',
});
const response = await client
.deleteLanguageVariant()
.byItemId('f4b3fc05-e988-4dae-9ac1-a94aba566474')
// .byItemCodename('my_article')
// .byItemExternalId('59713')
.byLanguageId('d1f95fde-af02-b3b5-bd9e-f232311ccab8')
// .byLanguageCodename('es-ES')
.toPromise();
Response
Status (204)
The specified language variant was deleted.
Empty response
Example responses
404
{
"request_id": "00000000-0000-0000-c813-0080000000c3",
"error_code": 103,
"message": "The requested content item variant was not found."
}