---
title: "Evaluate configuration with context"
method: POST
path: "/sdk/v2/configurations/evaluate"
tags: ["SDK Configurations (V2)"]
---

# Evaluate configuration with context

`POST /sdk/v2/configurations/evaluate`

Evaluate a configuration with rich identity and context. Recommended equivalent of the evaluated GET when custom properties are non-trivial. Returns the merged configuration with experiment metadata. Supports knownHash for application-level 304 change detection.

## Headers

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

## Request body

- object
  - `configuration` string
  - `unit` object, required
    - `type` 'user' | 'server', required
    - `distinctId` string, required
  - `context` object
    - `roblox` object
      - `device` union
        - string
        - number
        - boolean
        - unknown
        - union[], nullable
          - union
            - string
            - number
            - boolean
      - `deviceSubType` union
        - string
        - number
        - boolean
        - unknown
        - union[], nullable
          - union
            - string
            - number
            - boolean
      - `inputType` union
        - string
        - number
        - boolean
        - unknown
        - union[], nullable
          - union
            - string
            - number
            - boolean
      - `country` union
        - string
        - number
        - boolean
        - unknown
        - union[], nullable
          - union
            - string
            - number
            - boolean
      - `language` union
        - string
        - number
        - boolean
        - unknown
        - union[], nullable
          - union
            - string
            - number
            - boolean
      - `placeId` union
        - string
        - number
        - boolean
        - unknown
        - union[], nullable
          - union
            - string
            - number
            - boolean
      - `placeVersion` union
        - string
        - number
        - boolean
        - unknown
        - union[], nullable
          - union
            - string
            - number
            - boolean
    - `properties` object
    - `schemaVersion` 1, required
  - `knownHash` string

## Response `200`

Default Response

- object
  - `hash` string, required
  - `configurationId` number, required
  - `name` union, required
    - string
    - unknown
  - `configuration` Schema0, required — unresolved $ref
  - `privacy` array[], required
    - string[]
  - `updatedAt` string, date-time, required
  - `experiments` object[], required
    - `experimentId` number, required
    - `groupId` number, required
    - `assignmentVersion` number, required
    - `source` 'weightedHash' | 'roundRobin' | 'manual', required
    - `exposureProxyRecorded` boolean, required
  - `requiredProperties` string[], required

## Other responses

- `304` — Default Response
- `404` — Default Response
- `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)
