Is AI recommending you? Ask Contentstack Canoe for free
Is AI recommending your brand? Find out with Contentstack Canoe for free
Contentstack.comAcademyLogin
CS-log-dark.svgCS-log-dark.svg
  • Changelog
  • APIs
  • SDKs

Platform

  • Solution Center
  • Marketplace
  • Changelog
  • Developers & IT
  • Business users
  • Digital leaders
  • Developer Fast Track
  • Plans & Pricing

Solutions

  • Retail
  • Travel and tourism
  • Financial services
  • Technology
  • Manufacturing
  • E-commerce
  • Localization
  • Personalization
  • Portals and knowledge bases

Resources

  • Academy
  • Docs
  • Contentstack for Developers
  • Product updates
  • Contentstack on Contentstack
  • Blog
  • Insights and analyst reports
  • The Forrester Wave™: Digital Experience Platforms, Q4 2025
  • Webinars
  • Podcasts
  • Glossary
  • Content generative library
  • Community
  • Headless CMS
  • Composable AXP
  • Personalization
  • CDP

Customers

  • Case Studies
  • Customer Care
  • Contentstack Experience Awards
  • Customer support

Partners

  • Overview
  • Find a partner
  • Login

Company

  • About us
  • News
  • Customer support portal
  • Contact

Social

  • Facebook
  • LinkedIn
  • Instagram
  • GitHub
  • YouTube
  • Discord
  • X
LegalTermsPrivacyTrust Center

Cookie settings

Copyright © 2026 Contentstack Inc. All rights reserved.
/
  1. Home
  2. APIs
  3. Personalize Management API
  4. Experiences

Experiences

markdownView as Markdown

Experiences help you create different variations of content pages that cater to different sections of your audience. Experiences are also versioned, so that you can make draft changes on an active version of an experience. The following requests allow you to manage the Segmented and A/B Test Experiences within a project.

## Experience version lifecycle

Every change to what an experience shows visitors goes through a *version*. A version has one of four statuses:

| Status | Meaning |

|---|---|

| DRAFT | Work in progress. The only status whose configuration (variants, variant split, metrics, targeting) can be edited. Not served to visitors. |

| ACTIVE | Live. Served to visitors. |

| PAUSED | A live version that is temporarily switched off. The experience matches no variants, so the Manifest API returns null. |

| ARCHIVED | A previous version that was replaced. Read-only history. |

**Rules that apply to every flow below**

- An experience has at most one DRAFT and at most one live version (ACTIVE or PAUSED) at any time. Every older version is ARCHIVED.

- Creating an experience creates an empty DRAFT version. Find its UID with Get all Experience Versions, or from the latestVersion field of the experience.

- ACTIVE and PAUSED versions are locked. Their configuration cannot be edited in place. Only their status can change, and the request must still carry the unchanged configuration.

- Archiving is automatic. You cannot set a version to ARCHIVED, and you cannot move an ACTIVE, PAUSED or ARCHIVED version back to DRAFT.

- Version requests always carry the full configuration. status and variants are required, and nothing is copied from another version, so to change a live version you read it first and send the whole configuration back.

- To activate a version, an A/B test needs at least two variants and a segmented experience needs at least one. With the CUSTOM_PERCENTAGE split, the variant traffic must add up to 100.

### Take a new experience live

1. Create an Experience. An empty DRAFT version is created along with it.

2. Get all Experience Versions and note the UID of the DRAFT version.

3. Update an Experience Version on that draft with the full configuration. Keep status as DRAFT. Repeat as often as needed.

4. Update an Experience Version on the same draft with the final configuration and status set to ACTIVE.

### Pause a live version

1. Get all Experience Versions and read the ACTIVE version.

2. Update an Experience Version on it with status set to PAUSED and the configuration exactly as it is. Visitors stop seeing the experience.

3. To resume, send the same request with status set to ACTIVE.

### Edit a live experience

1. Get all Experience Versions. Read the configuration of the live version (ACTIVE or PAUSED) and check whether a DRAFT version already exists.

2. If there is no draft, Create an Experience Version with status set to DRAFT and the full edited configuration. Reuse the shortUid of the variants you are keeping and leave it out for new variants. If a draft already exists, this request is rejected with personalize.EXPERIENCES.VERSIONS.CANNOT_CREATE_VERSION_AS_DRAFT_ALREADY_EXISTS whatever status you send. Update that draft in step 3 instead, or discard it with Delete an Experience Version and create a new one.

3. Refine the draft with Update an Experience Version as needed, or discard it with Delete an Experience Version.

4. Update an Experience Version on the draft with status set to ACTIVE. The previous live version, whether it was ACTIVE or PAUSED, becomes ARCHIVED.

If there is no draft, you can skip steps 3 and 4 by creating the version with status set to ACTIVE in step 2. It goes live immediately and the previous live version is archived in the same request.

Create an Experience

POSThttps://personalize-api.contentstack.com/experiences

The Create an Experience request lets you create a new experience in a project. An experience can be either of SEGMENTED or AB_TEST type. Creating an experience also creates an empty draft version for the configuration.

To configure the permissions for your application via OAuth, include the personalize:manage scope.

Create a Segmented Experience:

{
  "name": "Australian Users Experience",
  "description": "This is the experience for Australian users.",
  "__type": "SEGMENTED"
}

In this example, we create a Segmented Experience. The __type field is used to set the type of the experience. Note that the experience in the response has a latestVersion field pointing to the draft version configuration created along with the experience.

Sample Request
123456789
{
  "name": "CTA color test",
  "description": "Test if using a warmer color on the CTA improves conversions",
  "__type": "AB_TEST",
  "tags": [
    "campaign:black-friday",
    "section:homepage"
  ]
}
Sample Response
Status|201 Created
1234567891011121314151617181920212223
{
  "shortUid": "1",
  "name": "CTA color test",
  "description": "Test if using a warmer color on the CTA improves conversions",
  "__type": "AB_TEST",
  "tags": [
    "campaign:black-friday",
    "section:homepage"
  ],
  "project": "6887777b3335554698867847",
  "status": "DRAFT",
  "createdBy": "bxxxxxxxxxxxx3",
  "updatedBy": "bxxxxxxxxxxxx6",
  "referredAudiences": [],
  "referredEvents": [],
  "createdAt": "2024-03-13T15:39:51.645Z",
  "updatedAt": "2024-03-13T15:39:51.645Z",
  "uid": "6887777xxxxxxxxx98867841",
  "hasDraft": true,
  "latestVersion": "66d5ad0000000001412ae841",
  "createdByUserName": "Jane Doe",
  "updatedByUserName": "Jane Doe"
}

Get all Experiences

GEThttps://personalize-api.contentstack.com/experiences

The Get all Experiences request fetches the list of all the experiences in a project.

To configure the permissions for your application via OAuth, include the personalize:read or personalize:manage scope.

Sample Response
Status|200 OK
12345678910111213141516171819202122232425
[
  {
    "shortUid": "1",
    "name": "CTA color",
    "description": "Use a warmer color on the CTA to improve conversion",
    "__type": "AB_TEST",
    "tags": [
      "campaign:black-friday",
      "section:homepage"
    ],
    "project": "6887777b3335554698867847",
    "status": "DRAFT",
    "createdBy": "bxxxxxxxxxxxx3",
    "updatedBy": "bxxxxxxxxxxxx6",
    "referredAudiences": [],
    "referredEvents": [],
    "createdAt": "2024-03-13T15:39:51.645Z",
    "updatedAt": "2024-03-14T17:00:00.000Z",
    "uid": "6887777xxxxxxxxx98867841",
    "hasDraft": true,
    "latestVersion": "66d5ad0000000001412ae841",
    "createdByUserName": "Jane Doe",
    "updatedByUserName": "Jane Doe"
  }
]

Update an Experience

PUThttps://personalize-api.contentstack.com/experiences/{uid}

The Update an Experience request lets you update an existing experience in a project. Note that once an experience of a particular type has been created, the type cannot be changed with this request.

To configure the permissions for your application via OAuth, include the personalize:manage scope.

Sample Request
12345
{
  "name": "CTA color",
  "description": "Use a warmer color on the CTA to improve conversion",
  "__type": "AB_TEST"
}
Sample Response
Status|200 OK
1234567891011121314151617181920212223
{
  "shortUid": "1",
  "name": "CTA color",
  "description": "Use a warmer color on the CTA to improve conversion",
  "__type": "AB_TEST",
  "tags": [
    "campaign:black-friday",
    "section:homepage"
  ],
  "project": "6887777b3335554698867847",
  "status": "DRAFT",
  "createdBy": "bxxxxxxxxxxxx3",
  "updatedBy": "bxxxxxxxxxxxx6",
  "referredAudiences": [],
  "referredEvents": [],
  "createdAt": "2024-03-13T15:39:51.645Z",
  "updatedAt": "2024-03-14T17:00:00.000Z",
  "uid": "6887777xxxxxxxxx98867841",
  "hasDraft": true,
  "latestVersion": "66d5ad0000000001412ae841",
  "createdByUserName": "Jane Doe",
  "updatedByUserName": "Jane Doe"
}

Get a Single Experience

GEThttps://personalize-api.contentstack.com/experiences/{uid}

The Get a Single Experience request fetches a specific experience created in your project.

To configure the permissions for your application via OAuth, include the personalize:read scope.

Sample Response
Status|200 OK
1234567891011121314151617181920212223
{
  "shortUid": "1",
  "name": "CTA color",
  "description": "Use a warmer color on the CTA to improve conversion",
  "__type": "AB_TEST",
  "tags": [
    "campaign:black-friday",
    "section:homepage"
  ],
  "project": "6887777b3335554698867847",
  "status": "DRAFT",
  "createdBy": "bxxxxxxxxxxxx3",
  "updatedBy": "bxxxxxxxxxxxx6",
  "referredAudiences": [],
  "referredEvents": [],
  "createdAt": "2024-03-13T15:39:51.645Z",
  "updatedAt": "2024-03-14T17:00:00.000Z",
  "uid": "6887777xxxxxxxxx98867841",
  "hasDraft": true,
  "latestVersion": "66d5ad0000000001412ae841",
  "createdByUserName": "Jane Doe",
  "updatedByUserName": "Jane Doe"
}

Delete an Experience

DELETEhttps://personalize-api.contentstack.com/experiences/{uid}

The Delete an Experience request lets you delete an existing experience in a project.

To configure the permissions for your application via OAuth, include the personalize:manage scope.

Sample Response
Status|204 No Content
1
The experience was deleted successfully

Create an Experience Version

POSThttps://personalize-api.contentstack.com/experiences/{uid}/versions

The Create an Experience Version request lets you create a new version of an experience in a project.

Creating a new version allows you to modify the configuration of an existing active version. A version can be created with a DRAFT or ACTIVE status. A new version cannot be created if a DRAFT version already exists, in which case you can only modify the existing DRAFT version.

The request must carry the full configuration: status and variants are required. Nothing is copied from the existing version, so read the live version first and send your edited copy. Creating a version with the ACTIVE status makes it live immediately and archives the current live version (ACTIVE or PAUSED) in the same request. If a DRAFT version already exists, the request is rejected with personalize.EXPERIENCES.VERSIONS.CANNOT_CREATE_VERSION_AS_DRAFT_ALREADY_EXISTS whatever status is requested.

To configure the permissions for your application via OAuth, include the personalize:manage scope.

Create a Segmented Experience version:

{
  "status": "DRAFT",
  "variants": [
    {
      "__type": "SegmentedVariant",
      "name": "Australian Continent Visitors",
      "shortUid": "0",
      "audiences": [
        "388888800000000087654321",
        "399999900000000044444444"
      ],
      "audienceCombinationType": "OR"
    }
  ]
}

In this example, we create a new DRAFT version of our segmented experience. We want to target the entire Australian continent instead of just the country, and accordingly, we also target one more audience in the variant and change the audienceCombinationType. The short UID refers to the existing variant's short UID so that we can update it.

Create an active version:

{
  "status": "ACTIVE",
  "variants": [
    {
      "__type": "ABTestVariant",
      "name": "Control",
      "shortUid": "0",
      "trafficDistribution": 33.33
    },
    {
      "__type": "ABTestVariant",
      "name": "Purple",
      "shortUid": "1",
      "trafficDistribution": 33.33
    },
    {
      "__type": "ABTestVariant",
      "name": "Red",
      "trafficDistribution": 33.33
    }
  ],
  "variantSplit": "EQUALLY_SPLIT",
  "metrics": [
    {
      "__type": "Primary",
      "event": "244444400000000087654321",
      "name": "Click on CTA"
    }
  ],
  "targeting": {
    "audience": {
      "audiences": [
        "155555500000000012345678"
      ],
      "audienceCombinationType": "AND"
    }
  }
}

The example here is the same A/B test, however, instead of creating a DRAFT version, we're activating the version instantly. The changes in the version are instantly reflected and the existing version is ARCHIVED.

Sample Request
1234567891011121314151617181920212223242526272829303132333435363738
{
  "status": "DRAFT",
  "variants": [
    {
      "__type": "ABTestVariant",
      "name": "Control",
      "shortUid": "0",
      "trafficDistribution": 33.33
    },
    {
      "__type": "ABTestVariant",
      "name": "Purple",
      "shortUid": "1",
      "trafficDistribution": 33.33
    },
    {
      "__type": "ABTestVariant",
      "name": "Red",
      "trafficDistribution": 33.33
    }
  ],
  "variantSplit": "EQUALLY_SPLIT",
  "metrics": [
    {
      "__type": "Primary",
      "event": "244444400000000087654321",
      "name": "Click on CTA"
    }
  ],
  "targeting": {
    "audience": {
      "audiences": [
        "155555500000000012345678"
      ],
      "audienceCombinationType": "AND"
    }
  }
}
Sample Response
Status|200 OK
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
{
  "uid": "9888888xxxxxxxxx89102123",
  "experienceUid": "688777700000000098867841",
  "__type": "AB_TEST",
  "variants": [
    {
      "__type": "ABTestVariant",
      "name": "Control",
      "shortUid": "0",
      "trafficDistribution": 33.33
    },
    {
      "__type": "ABTestVariant",
      "name": "Purple",
      "shortUid": "1",
      "trafficDistribution": 33.33
    },
    {
      "__type": "ABTestVariant",
      "name": "Red",
      "trafficDistribution": 33.33,
      "shortUid": "2"
    }
  ],
  "variantSplit": "EQUALLY_SPLIT",
  "metrics": [
    {
      "__type": "Primary",
      "event": "244444400000000087654321",
      "name": "Click on CTA"
    }
  ],
  "targeting": {
    "audience": {
      "audiences": [
        "155555500000000012345678"
      ],
      "audienceCombinationType": "AND"
    }
  },
  "status": "DRAFT",
  "createdAt": "2024-03-15T15:39:51.645Z",
  "updatedAt": "2024-03-15T15:39:51.645Z",
  "createdBy": "bxxxxxxxxxxxx3",
  "updatedBy": "bxxxxxxxxxxxx3",
  "createdByUserName": "Jane Doe",
  "updatedByUserName": "Jane Doe"
}

Get all Experience Versions

GEThttps://personalize-api.contentstack.com/experiences/{uid}/versions

The Get all Experience Versions request fetches the list of all the versions for a given Experience.

The list of versions is sorted by the createdAt date.

To configure the permissions for your application via OAuth, include the personalize:read or personalize:manage scope.

Sample Response
Status|200 OK
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
[
  {
    "uid": "9888888xxxxxxxxx89102123",
    "experienceUid": "688777700000000098867841",
    "__type": "AB_TEST",
    "variants": [
      {
        "__type": "ABTestVariant",
        "name": "Control",
        "shortUid": "0",
        "trafficDistribution": 33.33
      },
      {
        "__type": "ABTestVariant",
        "name": "Purple",
        "shortUid": "1",
        "trafficDistribution": 33.33
      },
      {
        "__type": "ABTestVariant",
        "name": "Red",
        "trafficDistribution": 33.33,
        "shortUid": "2"
      }
    ],
    "variantSplit": "EQUALLY_SPLIT",
    "metrics": [
      {
        "__type": "Primary",
        "event": "244444400000000087654321",
        "name": "Click on CTA"
      }
    ],
    "targeting": {
      "audience": {
        "audiences": [
          "155555500000000012345678"
        ],
        "audienceCombinationType": "AND"
      }
    },
    "status": "DRAFT",
    "createdAt": "2024-03-15T15:39:51.645Z",
    "updatedAt": "2024-03-15T15:39:51.645Z",
    "createdBy": "bxxxxxxxxxxxx3",
    "updatedBy": "bxxxxxxxxxxxx3",
    "createdByUserName": "Jane Doe",
    "updatedByUserName": "Jane Doe"
  }
]

Update an Experience Version

PUThttps://personalize-api.contentstack.com/experiences/{uid}/versions/{versionUid}

The Update an Experience Version request lets you update an existing version of an Experience. After creating an Experience initially, an empty draft version is already created, and you can update it to modify the configuration of the Experience. Once the configuration is ready, you can activate the version by updating the status to ACTIVE. Any existing live version (ACTIVE or PAUSED) will change to ARCHIVED. You can also PAUSE an active version with this request.

The request must carry the full configuration: status and variants are required. Only a DRAFT version's configuration can be edited. On an ACTIVE or PAUSED version only the status can change, and the configuration in the request must match the stored one. To pause or resume, send the version back unchanged with the new status.

**Allowed status changes**

| From | To | Result |

|---|---|---|

| DRAFT | DRAFT | The configuration is updated. |

| DRAFT | ACTIVE | The version goes live and the previous live version becomes ARCHIVED. |

| ACTIVE | PAUSED | Visitors stop seeing the experience. |

| PAUSED | ACTIVE | The experience resumes. |

Every other change is rejected.

| Condition | Error code |

|---|---|

| Editing the configuration of an ACTIVE or PAUSED version | personalize.EXPERIENCES.VERSIONS.CANNOT_UPDATE_LOCKED_VERSION |

| Setting the status to ARCHIVED | personalize.EXPERIENCES.VERSIONS.CANNOT_MANUALLY_ARCHIVE_VERSION |

| Moving an ACTIVE or PAUSED version back to DRAFT | personalize.EXPERIENCES.VERSIONS.CANNOT_MARK_VERSION_AS_DRAFT |

| Pausing a DRAFT version | personalize.EXPERIENCES.VERSIONS.CANNOT_PAUSE_INACTIVE_VERSION |

| Updating an ARCHIVED version | personalize.EXPERIENCES.VERSIONS.CANNOT_UPDATE_ARCHIVED_VERSION |

| Activating with too few variants | personalize.EXPERIENCES.VERSIONS.INSUFFICIENT_VARIANTS_TO_ACTIVATE |

| CUSTOM_PERCENTAGE split that does not add up to 100 | personalization.VARIANT.INVALID_PERCENTAGE_SUM |

To configure the permissions for your application via OAuth, include the personalize:manage scope.

Update a Segmented Experience version:

{
  "status": "DRAFT",
  "variants": [
    {
      "__type": "SegmentedVariant",
      "name": "Australian Visitors",
      "audiences": [
        "388888800000000087654321"
      ],
      "audienceCombinationType": "AND"
    }
  ]
}

In this example, we update the configuration for the Segmented Experience created previously. We're creating a variant for the visitors from Australia, with the variant targeted to the Australian audience. Notice that the shortUid is skipped for the new variant as it will be generated on the server side.

Activate a version:

{
  "status": "ACTIVE",
  "variants": [
    {
      "__type": "ABTestVariant",
      "name": "Control",
      "trafficDistribution": 50
    },
    {
      "__type": "ABTestVariant",
      "name": "Purple",
      "trafficDistribution": 50
    }
  ],
  "variantSplit": "EQUALLY_SPLIT",
  "metrics": [
    {
      "__type": "Primary",
      "event": "244444400000000087654321",
      "name": "Click on CTA"
    }
  ]
}

Activating a version is done by updating the status to ACTIVE. Any existing active version will be ARCHIVED following the activation of a new version.

Pause a version:

{
  "status": "PAUSED",
  "variants": [
    {
      "__type": "ABTestVariant",
      "name": "Control",
      "trafficDistribution": 50
    },
    {
      "__type": "ABTestVariant",
      "name": "Purple",
      "trafficDistribution": 50
    }
  ],
  "variantSplit": "EQUALLY_SPLIT",
  "metrics": [
    {
      "__type": "Primary",
      "event": "244444400000000087654321",
      "name": "Click on CTA"
    }
  ]
}

Pausing a version is achieved by updating the status to PAUSED. Once paused, the experience does not match any variants and will return null in the Manifest API. You can also re-activate the version again by updating it with the ACTIVE status. As with any update, the request must carry the full, unchanged configuration of the version.

Sample Request
1234567891011121314151617181920212223
{
  "status": "DRAFT",
  "variants": [
    {
      "__type": "ABTestVariant",
      "name": "Control",
      "trafficDistribution": 50
    },
    {
      "__type": "ABTestVariant",
      "name": "Purple",
      "trafficDistribution": 50
    }
  ],
  "variantSplit": "EQUALLY_SPLIT",
  "metrics": [
    {
      "__type": "Primary",
      "event": "244444400000000087654321",
      "name": "Click on CTA"
    }
  ]
}
Sample Response
Status|200 OK
12345678910111213141516171819202122232425262728293031323334
{
  "uid": "9888888xxxxxxxxx89102123",
  "experienceUid": "688777700000000098867841",
  "__type": "AB_TEST",
  "variants": [
    {
      "__type": "ABTestVariant",
      "name": "Control",
      "trafficDistribution": 50,
      "shortUid": "0"
    },
    {
      "__type": "ABTestVariant",
      "name": "Purple",
      "trafficDistribution": 50,
      "shortUid": "1"
    }
  ],
  "variantSplit": "EQUALLY_SPLIT",
  "metrics": [
    {
      "__type": "Primary",
      "event": "244444400000000087654321",
      "name": "Click on CTA"
    }
  ],
  "status": "DRAFT",
  "createdAt": "2024-03-13T15:39:51.645Z",
  "updatedAt": "2024-03-14T15:39:51.645Z",
  "createdBy": "bxxxxxxxxxxxx3",
  "updatedBy": "bxxxxxxxxxxxx3",
  "createdByUserName": "Jane Doe",
  "updatedByUserName": "Jane Doe"
}

Delete an Experience Version

DELETEhttps://personalize-api.contentstack.com/experiences/{uid}/versions/{versionUid}

The Delete an Experience Version request lets you discard the draft version of an Experience. Attempting to delete an ACTIVE, PAUSED or ARCHIVED version will return an error. Only a DRAFT version can be deleted: any other status is rejected with personalize.EXPERIENCES.VERSIONS.CANNOT_DELETE_LOCKED_VERSION. A draft can only be deleted once the experience has a live version (ACTIVE or PAUSED). Until then, any draft, including one that has been configured, is rejected with personalize.EXPERIENCES.VERSIONS.CANNOT_DELETE_ONLY_DRAFT.

To configure the permissions for your application via OAuth, include the personalize:manage scope.

Sample Response
Status|200 OK
1
The Experience Version was deleted successfully
Hide Parameters

Headers

authorizationoptionalstring

Enter your OAuth token here. Read more: https://www.contentstack.com/docs/developers/developer-hub/contentstack-oauth

authtokenoptionalstring

Enter your authtoken here. Read more: https://www.contentstack.com/docs/developers/create-tokens/types-of-tokens#authentication-tokens-authtokens

x-project-uidrequiredstring

Body Parameters

namerequiredstring
descriptionoptionalstring
__typerequiredstring

One of: SEGMENTED, AB_TEST

tagsoptionalstring[]

Tags are used to group and organize Experiences for better management and selective Edge delivery. Tags are case-insensitive and stored in lowercase. Allowed characters: a–z, A–Z, 0–9, hyphen (-), underscore (_), and colon (:). Maximum 10 tags per Experience, each up to 32 characters.

Hide Parameters

Query Parameters

tags[]optionalstring

Filter experiences by passing a list of tags. Experiences matching at least one of the provided tags are returned (OR semantics).

referredEvents[]optionalstring

Filter experiences by passing a list of event UIDs. The experiences referring to the given events as metrics will be returned.

referredAudiences[]optionalstring

Filter experiences by passing a list of audience UIDs. The experiences referring to the given audiences in its variants (for segmented experiences) or targeting criteria (for A/B test experiences) will be returned.

Headers

authorizationoptionalstring

Enter your OAuth token here. Read more: https://www.contentstack.com/docs/developers/developer-hub/contentstack-oauth

authtokenoptionalstring

Enter your authtoken here. Read more: https://www.contentstack.com/docs/developers/create-tokens/types-of-tokens#authentication-tokens-authtokens

x-project-uidrequiredstring

Hide Parameters

URL Parameters

uidrequiredstring

Enter the Experience UID to be updated.

Headers

authorizationoptionalstring

Enter your OAuth token here. Read more: https://www.contentstack.com/docs/developers/developer-hub/contentstack-oauth

authtokenoptionalstring

Enter your authtoken here. Read more: https://www.contentstack.com/docs/developers/create-tokens/types-of-tokens#authentication-tokens-authtokens

x-project-uidrequiredstring

Body Parameters

namerequiredstring
descriptionoptionalstring
__typerequiredstring

One of: SEGMENTED, AB_TEST

tagsoptionalstring[]

Tags are used to group and organize Experiences for better management and selective Edge delivery. Tags are case-insensitive and stored in lowercase. Allowed characters: a–z, A–Z, 0–9, hyphen (-), underscore (_), and colon (:). Maximum 10 tags per Experience, each up to 32 characters.

Hide Parameters

URL Parameters

uidrequiredstring

Enter the Experience UID to be retrieved

Headers

authorizationoptionalstring

Enter your OAuth token here. Read more: https://www.contentstack.com/docs/developers/developer-hub/contentstack-oauth

authtokenoptionalstring

Enter your authtoken here. Read more: https://www.contentstack.com/docs/developers/create-tokens/types-of-tokens#authentication-tokens-authtokens

x-project-uidrequiredstring

Hide Parameters

URL Parameters

uidrequiredstring

Enter the Experience UID to be deleted

Headers

authorizationoptionalstring

Enter your OAuth token here. Read more: https://www.contentstack.com/docs/developers/developer-hub/contentstack-oauth

authtokenoptionalstring

Enter your authtoken here. Read more: https://www.contentstack.com/docs/developers/create-tokens/types-of-tokens#authentication-tokens-authtokens

x-project-uidrequiredstring

Hide Parameters

URL Parameters

uidrequiredstring

Enter the Experience UID to version

Headers

authorizationoptionalstring

Enter your OAuth token here. Read more: https://www.contentstack.com/docs/developers/developer-hub/contentstack-oauth

authtokenoptionalstring

Enter your authtoken here. Read more: https://www.contentstack.com/docs/developers/create-tokens/types-of-tokens#authentication-tokens-authtokens

x-project-uidrequiredstring

Body Parameters

statusrequiredstring

One of: DRAFT, ACTIVE, PAUSED, ARCHIVED

variantsrequiredany[]
variantSplitoptionalstring

One of: EQUALLY_SPLIT, CUSTOM_PERCENTAGE, BANDIT

metricsoptionalobject[]
metrics[].__typeoptionalstring

One of: Primary

metrics[].eventrequiredstring
metrics[].namerequiredstring
targetingoptionalobject
targeting.audienceoptionalobject
targeting.audience.audiencesoptionalstring[]
targeting.audience.audienceCombinationTypeoptionalstring

One of: AND, OR

Hide Parameters

URL Parameters

uidrequiredstring

Enter the Experience UID to version

Headers

authorizationoptionalstring

Enter your OAuth token here. Read more: https://www.contentstack.com/docs/developers/developer-hub/contentstack-oauth

authtokenoptionalstring

Enter your authtoken here. Read more: https://www.contentstack.com/docs/developers/create-tokens/types-of-tokens#authentication-tokens-authtokens

x-project-uidrequiredstring

Hide Parameters

URL Parameters

versionUidrequiredstring

Enter the Experience Version UID

uidrequiredstring

Enter the Experience UID to version

Headers

authorizationoptionalstring

Enter your OAuth token here. Read more: https://www.contentstack.com/docs/developers/developer-hub/contentstack-oauth

authtokenoptionalstring

Enter your authtoken here. Read more: https://www.contentstack.com/docs/developers/create-tokens/types-of-tokens#authentication-tokens-authtokens

x-project-uidrequiredstring

Body Parameters

statusrequiredstring

One of: DRAFT, ACTIVE, PAUSED, ARCHIVED

variantsrequiredany[]
variantSplitoptionalstring

One of: EQUALLY_SPLIT, CUSTOM_PERCENTAGE, BANDIT

metricsoptionalobject[]
metrics[].__typeoptionalstring

One of: Primary

metrics[].eventrequiredstring
metrics[].namerequiredstring
targetingoptionalobject
targeting.audienceoptionalobject
targeting.audience.audiencesoptionalstring[]
targeting.audience.audienceCombinationTypeoptionalstring

One of: AND, OR

Hide Parameters

URL Parameters

versionUidrequiredstring

Enter the Experience Version UID

uidrequiredstring

Enter the Experience UID to version

Headers

authorizationoptionalstring

Enter your OAuth token here. Read more: https://www.contentstack.com/docs/developers/developer-hub/contentstack-oauth

authtokenoptionalstring

Enter your authtoken here. Read more: https://www.contentstack.com/docs/developers/create-tokens/types-of-tokens#authentication-tokens-authtokens

x-project-uidrequiredstring