---
title: "Bulk resolve experiment assignments"
method: POST
path: "/sdk/v2/experiments/assignments/bulk"
tags: ["SDK Experiments (V2)"]
---

# Bulk resolve experiment assignments

`POST /sdk/v2/experiments/assignments/bulk`

Resolve experiment assignments for up to 250 units sharing the same unit type. Creates and persists assignments as needed (weighted hash or round-robin), identically to the single-unit endpoints. Designed for server-side SDKs (e.g. Roblox) that batch-assign players rather than polling per-user. Returns a map of distinctId → assignment array; IDs with no active assignments appear with an empty array. Fails the whole batch with 503 if any assignment or exposure record cannot be durably written.

Supply `units` with an optional per-unit `context`, plus an optional `sharedContext` carrying facts the whole batch shares — the unit's own values win per key. The older `distinctIds` array is still accepted but resolves without context, so targeted experiments will not match those units.

## Headers

- `environment` 'production' | 'development'
- `project-id` integer

## Request body

- union
  - object
    - `unitType` 'user' | 'server', required
    - `sharedContext` object
      - `roblox` object
        - `device` union
          - string
          - number
          - boolean
          - unknown
          - union[], nullable
            - union
              - …
        - `deviceSubType` union
          - string
          - number
          - boolean
          - unknown
          - union[], nullable
            - union
              - …
        - `inputType` union
          - string
          - number
          - boolean
          - unknown
          - union[], nullable
            - union
              - …
        - `country` union
          - string
          - number
          - boolean
          - unknown
          - union[], nullable
            - union
              - …
        - `language` union
          - string
          - number
          - boolean
          - unknown
          - union[], nullable
            - union
              - …
        - `placeId` union
          - string
          - number
          - boolean
          - unknown
          - union[], nullable
            - union
              - …
        - `placeVersion` union
          - string
          - number
          - boolean
          - unknown
          - union[], nullable
            - union
              - …
      - `properties` object
      - `schemaVersion` 1, required
    - `units` object[], required
      - `distinctId` string, required
      - `context` object
        - `roblox` object
          - `device` union
            - string
            - number
            - boolean
            - unknown
            - union[], nullable
              - …
          - `deviceSubType` union
            - string
            - number
            - boolean
            - unknown
            - union[], nullable
              - …
          - `inputType` union
            - string
            - number
            - boolean
            - unknown
            - union[], nullable
              - …
          - `country` union
            - string
            - number
            - boolean
            - unknown
            - union[], nullable
              - …
          - `language` union
            - string
            - number
            - boolean
            - unknown
            - union[], nullable
              - …
          - `placeId` union
            - string
            - number
            - boolean
            - unknown
            - union[], nullable
              - …
          - `placeVersion` union
            - string
            - number
            - boolean
            - unknown
            - union[], nullable
              - …
        - `properties` object
  - object
    - `unitType` 'user' | 'server', required
    - `distinctIds` string[], required

## Response `200`

Default Response

- object
  - `assignments` object, required

## Other responses

- `503` — Default Response

---

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