Session Setup
POST /v1/personas/session — bind a seat’s members and their ages for the session.
POST /v1/personas/session binds the seat roster for a passenger session:
who is on which seat, and each member’s declared age band. This is what gives a
member their real age tier — until you bind them,
every member resolves to Unknown and is served the child-safe catalog. Do it
once, early in the session, before scored serves or suggestions.
Session-scoped — requires the
X-Session-Id header. Body (max 64 KiB):
boundMembersis how many profiles were persisted.ageTiersis the server-resolved tier for each member, in the same order as yourmembersarray. It is echoed for your display only — every later serve / suggest / enrich call re-resolves the tier from the stored profile and never trusts this value back.
Age resolution is fail-closed. An unknown, blank, or unparseable ageBand
resolves to Unknown — treated as the most-restrictive Child tier — never a
permissive default. A member you don’t bind at all is also Unknown. So a
Child/Unknown in ageTiers for someone you meant to be an adult means the
ageBand string wasn’t recognized — check it.
Errors
Standard envelope: 400 session.unresolved (missing/invalid
X-Session-Id), 401 / 403 auth, 422 request.validation (empty members,
more than 20, or any member missing seatId/ageBand), 500.