Skip to main content
Sitecore Documentation
  • Learn
  • Downloads
  • Changelog
  • Roadmap
PersonalizeCloud Portal
Sitecore Personalize developer documentation
  • Developing with Sitecore Personalize
    • Base URL
    • Response codes
        • Create a decision model
        • Retrieve decision models
        • Retrieve a decision model
        • Update a decision model
        • Retrieve revisions
        • Retrieve a revision
        • Retrieve variants
  1. REST API Decision model
  1. Sitecore Personalize developer documentation
  2. REST APIs

Create a decision model

POST /v2/decisionModelDefinitions

Creates a decision model.

At a minimum, you must provide the following required attributes in the request body:

AttributeTypeDescriptionExample
namestringThe name of the decision model."Determine Ancillary Upsell"
deploymentConfigurationobjectAn object that contains the variants array."mys3cr3tstr1ingforauth1!x"
deploymentConfiguration.variantsarrayAn array of objects. Every object describes a variant.

You can leave this array empty.
"mys3cr3tstr1ingforauth1!x"

If you do not leave the variants array empty, every object in the array must include the following required attributes:

AttributeTypeDescriptionExample
variantRefstringThe reference of the decision model variant."19700f15-4069-4121-b709-1031118677c8"
splitintegerThe audience percentage that the decision model variant will impact.80
statusstring enum (uppercase)The status of the decision model variant.Must be one of the following:

  • "DRAFT"
  • "TEST"
  • "PRODUCTION"
  • "ARCHIVED"
variantRevisionintegerThe sequential number of the decision model variant revision.2

The deploymentConfiguration object:

"deploymentConfiguration": {
        "variants": [
            {
                "variantRef": "19700f15-4069-4121-b709-1031118677c8",
                "split": 80,
                "status": "PRODUCTION",
                "variantRevision": 2
            }
        ]
    }

In the response, the ref key contains the decision model reference.

You use the decision model reference to interact with a specific decision model, for example, to retrieve or update it.

curl -X POST '<baseURL>/v2/decisionModelDefinitions' \
-H 'Authorization: Bearer <accessToken>' \
-H 'Accept: application/json' \
--data-raw '
{
    "name": "Determine Ancillary Upsell",
    "deploymentConfiguration": {
        "variants": []
    }
}'
{
    "clientKey": "pqsPERS3lw12v5a9rrHPW1c4hET73GxQ",
    "href": "<baseURL>/v2/decisionModelDefinitions/62fa90f6-f59c-4974-b603-587dd6a5f951",
    "ref": "62fa90f6-f59c-4974-b603-587dd6a5f951",
    "name": "Determine Ancillary Upsell",
    "modifiedByRef": "25f46901-bc51-45e8-b587-148aecf1e48f",
    "modifiedAt": "2026-10-12T12:`45:03`.902Z",
    "revision": 1,
    "archived": false,
    "deploymentConfiguration": {
        "variants": []
    },
    "variants": {
        "href": "<baseURL>/v2/decisionModelDefinitions/62fa90f6-f59c-4974-b603-587dd6a5f951/variants"
    },
    "revisions": {
        "href": "<baseURL>/v2/decisionModelDefinitions/62fa90f6-f59c-4974-b603-587dd6a5f951/revisions"
    }
}
If you have suggestions for improving this article, let us know!

© Copyright , Sitecore A/S or a Sitecore affiliated company.
All rights reserved.

Privacy policySitecore Trust CenterTerms of use
PersonalizeCloud Portal