Get personalizations

Retrieve all personalizations (experiences) for a specific website, including their configuration, targeting rules, variants, and status information.

Overview

The Get Personalizations endpoint retrieves all personalizations (experiences) configured for a specific website. This includes information about targeting rules, variants, component settings, scheduling, and current status.

Endpoint

GET /public/personalizations

Authentication

This endpoint requires authentication via the x-api-key header.

Parameters

ParameterTypeLocationRequiredDescription
accountIdstringqueryYesYour account ID. See: Account Settings
websiteIdstringqueryYesThe website ID to retrieve personalizations for
x-api-keystringheaderYesYour API key. See: Account Settings

Response

The endpoint returns an array of personalization objects. Each personalization object contains the following fields:

Personalization Object

FieldTypeDescription
accountIdstring | nullThe account ID that owns this personalization
assigneestring | nullUser assigned to this personalization
changedboolean | nullWhether the personalization has been modified
componentAccountIdstring | nullAccount ID for component-based personalizations
componentPackageNamestring | nullPackage name for component-based personalizations
componentSettingsstring | nullJSON string containing component configuration
componentTypestring | nullType of component used
componentVersionnumber | nullVersion of the component
createdAtnumber | nullTimestamp when personalization was created
createdDatenumber | nullCreation date timestamp
delayOptionstring | nullDelay trigger option (e.g., "seconds", "pageviews")
delayValuenumber | nullDelay value for trigger timing
diffUrlstring | nullURL for viewing changes diff
disabledboolean | nullWhether the personalization is disabled
endDatenumber | nullTimestamp when personalization should stop running
excludedRulestring | nullRules for excluding visitors
exclusiveboolean | nullWhether this personalization is exclusive
hideOptionstring | nullOption for hiding the personalization
hideValuenumber | nullValue for hide timing
isComponentboolean | nullWhether this is a component-based personalization
isHiddenAiComponentboolean | nullWhether this is a hidden AI component
javascriptTriggerstring | nullJavaScript trigger code
javascriptTriggerParsedstring | nullParsed JavaScript trigger
longurlstring | nullExtended URL information
maxValuenumber | nullMaximum value for certain triggers
personalizationTagsstring[] | nullArray of tags associated with this personalization
prionumber | nullPriority level (higher numbers = higher priority)
recipestring | nullPersonalization recipe/template
redirectUrlstring | nullURL for redirect-type personalizations
rulestring | nullTargeting rules in JSON format
startDatenumber | nullTimestamp when personalization should start running
statestring | nullCurrent state (e.g., "running", "paused", "draft")
targetTemplateDomainstring | nullTarget domain for template
targetTemplatePathstring | nullTarget path for template
testModestring | nullTest mode configuration
updatedDatenumber | nullTimestamp of last update
variantsVariant[] | nullArray of personalization variants
variationIdstring | nullID of the variation
variationNamestring | nullName of the variation
webPagePathstring | nullWeb page path where personalization applies
websiteIdstring | nullWebsite ID this personalization belongs to

Example Request

curl --location 'https://rest-endpoint.unless.com/api/v1/public/personalizations?accountId=your-account-id&websiteId=your-website-id' \
--header 'x-api-key: your-api-key'

Example Response

[
  {
    "accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "variationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "variationName": "Homepage Hero Optimization",
    "state": "running",
    "disabled": false,
    "prio": 100,
    "rule": "{\"and\":[{\"field\":\"url\",\"operator\":\"equals\",\"value\":\"/\"}]}",
    "startDate": 1640995200000,
    "endDate": null,
    "createdAt": 1640995200000,
    "updatedDate": 1641081600000,
    "webPagePath": "/",
    "personalizationTags": ["homepage", "hero", "conversion"],
    "testMode": "live",
    "exclusive": false,
    "isComponent": false,
    "variants": [
      {
        "id": "control",
        "name": "Control",
        "weight": 50
      },
      {
        "id": "variation-1",
        "name": "New Hero Design",
        "weight": 50
      }
    ]
  }
]

Response Status Codes

CodeDescription
200Successful response with array of personalizations
400Bad request - invalid parameters
401Unauthorized - invalid API key
403Forbidden - insufficient permissions
404Not found - invalid account or website ID

Use Cases

  • Dashboard Overview: Retrieve all personalizations for management interface
  • Performance Monitoring: Get current state and configuration of all experiences
  • Bulk Operations: Fetch personalizations for batch updates or analysis
  • Integration: Sync personalization data with external systems
  • Reporting: Generate reports on personalization coverage and status

Notes

  • All timestamp fields are in Unix timestamp format (milliseconds)
  • Rules are stored as JSON strings and need to be parsed
  • Priority (prio) determines execution order when multiple personalizations could apply
  • Component-based personalizations have additional fields for component configuration
  • The variants array contains the different variations being tested
Language