Signal that a session backfill has finished sending, so Exo can build the layers session ingestion does not produce on its own: graph edges, domains, the identity extraction and the first cognition.
POST
/
v1
/
ingest
/
session-finalize
Finalize a session backfill
curl --request POST \
--url https://api.get-exo.com/v1/ingest/session-finalize \
--header 'X-Exo-API-Key: <api-key>'
Signal that a session backfill has finished sending, so Exo can build the layers session ingestion does not produce on its own: graph edges, domains, the identity extraction and the first cognition cycle.Call it once after the last batch is accepted. Idempotent: calling it again while a build is already running is a no-op and comes back with alreadyInFlight set. Poll GET /v1/ingest/session-status to watch the layers fill in.
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.
An Exo API key (exo_...) sent as the X-Exo-API-Key header.
Response
Whether the build was enqueued or was already running.
POST /v1/ingest/session-finalize: kicks the cold-start warm-layer build.
After a Claude Code backfill drains, the client calls finalize to enqueue the
enrichment (session+similarity edges, domains, identity, manifold). Idempotent:
enqueued is False + alreadyInFlight True when a build is already running.