List facts about me
Returns the facts the assistant currently remembers about the calling user, scoped to the caller’s own account. Each fact includes its id, text, type, confidence, the agent that asserted it, when it was asserted, and the source conversation id. The response also includes a distilled one-paragraph persona summary (and when it was last generated, if available) and the distinct fact types present across the full set for use as filters. Supports filtering by agent slug and fact type, page sizing via limit (default 25, max 200), and forward pagination via an opaque cursor that returns null once the end is reached.
Authorizations
Personal Access Token. Send as Authorization: Bearer hq_pat_....
Query Parameters
Restrict to one agent's view. Slug; omit for all agents in the workspace that have facts about the caller.
Restrict to one fact_type. Omit for all.
Default 25, max 200. Paginate via cursor rather than bumping
this for "show more" - limit is meant to size each page.
Opaque cursor returned by the previous page. URL-safe base64
of {asserted_at, id} - fed back as the WHERE bound so
concurrent inserts don't shift the page boundary.
Response
Facts the assistant remembers about you
Distinct fact_types present in the caller's full set (not the filtered page). Used by the UI to render filter chips - caller doesn't have to scan the whole set to know what's in there.
Cursor to pass on the next page. None once the caller has
reached the tail of the result set.
When persona_paragraph was last refreshed. UI shows "updated
X minutes ago" so the user can request a re-distill if the
paragraph is stale relative to recent activity.
Per docs/agent-runtime.md §System prompt envelope, layer 4
(the user persona). Rendered once per (tenant, user, ~day) from
the structured user_profile.profile JSONB by
hq-reflection-worker. Surfaced FIRST in this response so
the user reads + corrects the one-paragraph view in a single
screen before diving into the per-fact list.
None when the persona hasn't been distilled yet.