Skip to main content
POST
Explain an audience for one user

Authorizations

Authorization
string
header
required

Your project's secret key (pk_…, without the pub segment). Server-side only — never ship it to a browser. Get it from Settings → Projects in the dashboard.

Body

application/json

Provide exactly one of expression (inline) or segment (+ optional version) — both run through the identical validator and evaluator.

expression
object
required

Versioned, strictly validated audience rule. Example: { "version": 1, "root": { "kind": "all", "children": [ { "kind": "field", "field": { "kind": "trait", "key": "plan" }, "op": "eq", "value": "free" }, { "kind": "not", "child": { "kind": "event", "event": "used_csv_export" } } ] } }

Example:
userId
string
required

The Galinum user id (eu_…) or your own external user id.

segment
string

Saved segment to evaluate, by id (seg_…) or machine key. Provide exactly one of expression or segment.

version
integer

Segment version to evaluate; omitted = current.

Required range: x >= 1

Response

Evaluation trace.

user
object
required
matched
boolean
required
evaluatedAt
integer
required
expressionHash
string
required
trace
object
required

Trace node mirroring the expression tree. Every node carries path (JSON Pointer into the expression), kind, and matched. Field nodes add field, op, observed (compact evidence — long strings truncated, objects reported by type), observedType, and a note for absence/type mismatches. Event nodes add event, occurrences, required count, and windowCutoff. Group nodes carry children; not carries child.

segment
object

Present when the evaluated audience came from a saved segment.