How does Unison extract facts from what I ingest?

Understand how Unison's async entity-resolution and fact-extraction pipeline turns raw conversations into structured knowledge.

What actually happens when I ingest a conversation? How does the brain "learn" from it?

When you POST a conversation to the ingest endpoint, Unison runs an asynchronous pipeline that extracts structured knowledge from the raw text.

The pipeline

  1. Receive. The API accepts the conversation and returns a jobId immediately — ingestion happens in the background.
  2. Chunk. The conversation is split into segments for processing.
  3. Entity resolution. People, organizations, products, and concepts are identified and resolved against entities the brain already knows about. "Alice" in this conversation is linked to the same Alice from previous conversations.
  4. Fact extraction. Statements are converted into structured facts and attached to the resolved entities. "We decided to use PostgreSQL" becomes a fact on the "architecture decisions" entity.
  5. Index. The extracted facts and the raw chunks are indexed for vector search. Both are available for recall.

Checking job status

There is no get-job-by-id endpoint. Ingest is async but typically reflects in recall within moments. If you want to inspect the queue, list recent jobs:

curl "https://brain.unisonlabs.ai/v1/brain/jobs?limit=10" \
  -H "Authorization: Bearer $UNISON_TOKEN"

You can also check aggregate stats with GET /v1/brain/jobs/stats.

Documents are synchronous

Only conversation ingest is async. When you write a document directly (PUT /v1/brain/doc with the path in the body), it's available for recall immediately — no job, no polling.

See Conversation vs document ingest for when to use each.

On this page