---
title: "Get Personalizations"
method: POST
path: "/experiments/personalization"
tags: ["OursPrivacy"]
---

# Get Personalizations

`POST /experiments/personalization`

Return the active personalization assignments for a visitor. Read-only and never records an impression. Personalizations are populated by the event-driven rule engine — until that ships, this endpoint returns an empty list for every visitor, which is the correct fail-closed behavior (no false positives).

## Request body

- object
  - `token` string, required — The experiment token (`exp_*`).
  - `visitor_id` string, required

## Response `200`

The visitor's active personalization assignments (possibly empty).

- object
  - `success` true, required
  - `personalizations` object[], required
    - `experiment_id` string, required
    - `experiment_key` string, nullable
    - `experiment_name` string, nullable
    - `variant_id` string, required
    - `variant_name` string, nullable
    - `assigned_at` number, required

## Other responses

- `400` — Bad Request - Something about the body of your request is invalid. Please update your payload and try again.
- `401` — Unauthorized - you are not authorized to send events to Ours. Please contact support.
- `500` — Internal Server Error.

---

[API](https://skmtc.dev/oursprivacy/apis/ours.md) · [All operations](https://skmtc.dev/oursprivacy/apis/ours/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/oursprivacy/ours/revisions/dc169f9305c2/schema)
