Skip to main content
Users
CloudPortalLogin
  • Powered byPowered by
Developing with Sitecore Personalize
Data privacy
Before you start sending data
Integrating with Sitecore Personalize
Stream API
Personalize API Flow execution
REST APIs
  • Sitecore Personalize for developers
  • REST APIs
  • Decision model REST API
  • Create a decision model

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:

Attribute

Type

Description

Example

name

string

The name of the decision model.

"Determine Ancillary Upsell"

deploymentConfiguration

object

An object that contains the variants array.

"mys3cr3tstr1ingforauth1!x"

deploymentConfiguration.variants

array

An 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:

Attribute

Type

Description

Example

variantRef

string

The reference of the decision model variant.

"19700f15-4069-4121-b709-1031118677c8"

split

integer

The audience percentage that the decision model variant will impact.

80

status

string enum (uppercase)

The status of the decision model variant.

Must be one of the following:

  • "DRAFT"

  • "TEST"

  • "PRODUCTION"

  • "ARCHIVED"

variantRevision

integer

The sequential number of the decision model variant revision.

2

The deploymentConfiguration object:

RequestResponse
"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.

RequestResponse
curl -X POST '<baseURL>/v2/decisionModelDefinitions' \
-H 'Authorization: Bearer <accessToken>' \
-H 'Accept: application/json' \
--data-raw '
{
    "name": "Determine Ancillary Upsell",
    "deploymentConfiguration": {
        "variants": []
    }
}'
RequestResponse
{
    "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": "2025-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"
    }
}

Do you have some feedback for us?

If you have suggestions for improving this article,

Privacy policySitecore Trust CenterCopyright © 1999-2025 Sitecore