Skip to main content
GET
Error

Autorizações

Authorization
string
header
obrigatório

A staff session token, uk_st_…. Minted by sign-up, sign-in or the two-factor exchange. Only a 401 means it is spent; not_a_member (403) is about the organization named in X-Organization-Id and leaves the token good for the others.

Cabeçalhos

X-Organization-Id
string

The organization the caller is acting on — the org_… code that appears in the panel URL. It identifies; the membership JOIN is what authorizes, so a forged code reads nothing: the answer is not_a_member (403), which does not mean the session is over. Absent, the session's default organization answers, or — if that membership was revoked while the session was open — any other one the caller still holds.

Parâmetros de caminho

id
string<uuid>
obrigatório

Parâmetros de consulta

environment
enum<string>
padrão:live

Which environment to act in. A view parameter, valid only on the staff surface — a machine credential never chooses its environment, it is resolved from the key.

Opções disponíveis:
live,
test
customer_id
string<uuid>

Which of this contact's teams the scoped sections are read inside. Defaults to the oldest membership. A customer this contact does not belong to answers 404.

Resposta

The dossier. Any section may be null, which means it failed to load.

environment
enum<string>
Opções disponíveis:
live,
test
contact_id
string<uuid>
teams
object[] | null

The customers this contact belongs to, oldest membership first.

customer_id
string<uuid> | null

The team the scoped sections were read inside. null when this person belongs to no team — an answer, not a failure.

sessions
object[] | null

Sessions that have not expired. Never a token hash. impersonated says the row is somebody from your staff inside the account.

segments
object[] | null

The audiences this contact is currently in — what explains a campaign that reached them or a checklist that appeared for them.

conversations
object[] | null

What this person wrote to support inside the chosen team, plus the threads that name no team at all.

checklists
object[] | null

The onboarding guide as this person sees it, folded to one line each — dismissed lists included, because where somebody stopped is the question this screen asks. last_progress_at is null until a step is actually completed; entitlement steps carry no timestamp, being true right now rather than done at a moment.

events
object | null

What this person did in the product, most recent first. Bounded by window_days — the events table is partitioned and an unbounded scan is the read that partitioning exists to prevent. Scoped to the chosen team, plus the events that name none.

feedback
object | null

What this person asked the product for, and what they backed. merged marks a post folded into a duplicate — still something they asked for. Scoped to the chosen team, plus what names none.

waitlist
object[] | null

The feature queues this contact is in. position is null once admitted — there is no place in a line somebody has left.

referrals
object | null

Both directions of the referral edge. referred_by is null when nobody brought this person in.

merges
object[] | null

Which duplicates were folded into this contact, and what moved with each. There is no un-merge; this is the whole account of it.