Most use cases don’t need this endpoint. The SDK resolves parameters locally from the config bundle. Use this endpoint only for per-entity adaptive policies configured with
resolutionMode: "edge".Request
Path parameters
Headers
Body
Response
200 OK
How selection works
The endpoint uses deterministic weighted selection:- Reads the current weights for the entity.
- Uses a hash of the unit key to deterministically pick an allocation weighted by those probabilities (same user always picks the same allocation while weights don’t change).
- If no entity-specific weights exist yet, uses the global prior — or uniform weights when no state exists at all (cold start).
(policyId, entityId, unitKeyValue) always returns the same allocation until the weights change.
Batch
For multiple decisions in a single request:Body
Each request in the array takes the same fields as the single endpoint, plus apolicyId:
Response
Returns aresponses array in the same order as requests:
requests field returns 400 with the message requests array is required.
Errors
400 Bad request
Cannot determine allocation count), and for org-scoped keys that omit the X-Project-Id header.
401 Unauthorized
403 Forbidden
Returned when the key lacks thesdk:read scope, or when an X-Org-Id or X-Project-Id header doesn’t match the key: