The Imprint container runs a FastAPI server on port 8420. Everything the
built-in dashboard does — search, ingest, retag, graph walks, sync, chat — is
available over plain HTTP for any external client: a backend service pushing
data, a CI job retagging after a merge, your own UI, or a quick curl to see
what’s in memory.
Endpoints are grouped by responsibility. The Postman collection mirrors this
structure folder-for-folder so you can scan the reference and the collection
side by side.
Every queue-safe imprint CLI command is reachable here. The endpoint enqueues
a background job, returns {job_id, position} immediately, and the job runs
through the same single-slot queue the dashboard uses.
Previously-indexed Claude Desktop / ChatGPT Desktop export zips (SHA-keyed).
POST
/api/desktop-learn/scan
One-shot Downloads scan for new desktop-app conversation exports. Body (optional): {"paths": ["/extra/dir", ...]}. Returns the structured scan result used by the dashboard.
Peer sync between two machines still uses the CLI’s imprint sync command —
see sync. The HTTP endpoints above cover snapshot-based sync
(export → transfer zip → import) for cases where a direct WS connection isn’t
available.
/api/jobs/{id}/stream — live stdout/stderr for a background job
/api/chat — agent tokens + tool call events
/api/sync/serve and /api/sync/receive — peer-sync progress events
Use EventSource in the browser, sseclient in Python, or curl -N to
consume. Postman shows raw bytes — useful for inspecting events but not for
interactive streaming.
The API follows the same release channel as the rest of Imprint — see
installation. The
Postman collection in this repo is versioned alongside the code; the live
OpenAPI schema at /openapi.json always matches the running container.