Skip to main content
GET
Get session ingest status
Report coding-session ingestion progress for the caller: how many session nodes and edges exist, how much is still queued, which warm layers (identity, manifold, domains, insights, temporal) have been built, and whether a build is running right now. Poll while building is true. Warm-layer reads degrade to false rather than failing, so a partially migrated org still gets a usable answer.

Authorization

This route requires the write scope. A missing or invalid credential returns 401 authentication_error. A valid credential without the scope returns 403 permission_denied, and the problem body names the exact scope required.

Headers

These are request conventions the contract does not declare as parameters, so they do not appear in the schema tables below.

Success responses

Errors

Every error is an RFC 9457 application/problem+json body carrying a stable code, a requestId, and a suggestedAction where Exo has one. See Errors.

Notes

  • Poll building, not warmLayers. The layers are data-dependent: an organization with no dated content never grows temporal phases, so waiting for all of them to turn true polls forever.

Authorizations

X-Exo-API-Key
string
header
required

An Exo API key (exo_...) sent as the X-Exo-API-Key header.

Response

Session counts, queue depth and warm-layer readiness.

GET /v1/ingest/session-status: Claude Code ingestion + warm-layer progress.

Backs the frontend "Connect Claude Code" status panel: how many session nodes/edges have landed, when the last line arrived, whether jobs are still draining/building, and which warm layers exist yet.

building
boolean
default:false
finalizePending
boolean
default:false
ingestPending
integer
default:0
lastIngestedAt
string | null
sessionEdgeCount
integer
default:0
sessionNodeCount
integer
default:0
totalNodeCount
integer
default:0
warmLayers
SessionWarmLayers · object

Which cold-start warm layers have materialized for the user/org.