API reference

The Engrym REST API is described by the canonical OpenAPI 3.1 specification at infra/openapi/openapi.json (Engrym REST API v1.0.0). This page is auto-generated from that artifact.

All endpoints are versioned under /v1. Authentication uses bearer tokens; consult the MCP setup and CLI reference pages for higher-level integration paths.

This reference documents the public knowledge-layer API — the operations you or your agents invoke to operate the knowledge layer on your own projects. Endpoints internal to Engrym's own product operations (billing, newsletter, feedback board, dashboard onboarding, operator-only admin, webhook receivers) are intentionally not listed.

Total operations: 101 across 6 resource groups.


Health

Liveness probe for the Engrym REST API. Returns a fixed status payload.

MethodPathSummary
GET/v1/healthLiveness + dependency health probe.

Version

Reports the API version + build metadata.

MethodPathSummary
GET/v1/versionAPI version + deploy metadata.

Authentication

Signup, signin, signout, and identity introspection. The dashboard signup flow uses the public surface; CLI / SDK consumers use access tokens bound to the project.

MethodPathSummary
GET/v1/auth/meReturn the authenticated user profile.
POST/v1/auth/signinSign in with email + password.
POST/v1/auth/signoutInvalidate the active session.
POST/v1/auth/signupCreate a fresh account.

Projects

Project CRUD + nested resources: documents, Brain atoms, decisions, intents, conflicts, sessions, watcher, extraction, mirror, imports, API keys. Nested sub-resources are listed in their own sub-sections below.

Core

Top-level project CRUD + archive.

MethodPathSummary
GET/v1/projectsList projects.
POST/v1/projectsCreate a project.
GET/v1/projects/\{projectId\}Read a project.
PATCH/v1/projects/\{projectId\}Update a project.
DELETE/v1/projects/\{projectId\}Permanently delete a project (grace-then-purge).

Activity

MethodPathSummary
GET/v1/projects/\{projectId\}/activityList the project activity feed.

API keys

Per-project API key CRUD (for CLI / SDK auth).

MethodPathSummary
GET/v1/projects/\{projectId\}/api-keysList the calling user's API keys.
POST/v1/projects/\{projectId\}/api-keysIssue an API key.
DELETE/v1/projects/\{projectId\}/api-keys/\{keyId\}Revoke an API key.

Archive

MethodPathSummary
POST/v1/projects/\{projectId\}/archiveArchive a project (soft-delete).

Brain

Knowledge atom CRUD + search + context queries + deprecation + supersedence.

MethodPathSummary
GET/v1/projects/\{projectId\}/brain/atomsList/query atoms.
POST/v1/projects/\{projectId\}/brain/atomsCreate an atom.
GET/v1/projects/\{projectId\}/brain/atoms/\{atomId\}Read an atom.
PATCH/v1/projects/\{projectId\}/brain/atoms/\{atomId\}Update atom metadata (tags, confidence).
POST/v1/projects/\{projectId\}/brain/atoms/\{atomId\}/deprecateDeprecate an atom.
GET/v1/projects/\{projectId\}/brain/atoms/\{atomId\}/diffBefore→after diff of an atom over the supersede chain.
POST/v1/projects/\{projectId\}/brain/atoms/\{atomId\}/promotePromote (ratify) a provisional atom.
POST/v1/projects/\{projectId\}/brain/atoms/\{atomId\}/reinstateReinstate an atom.
GET/v1/projects/\{projectId\}/brain/atoms/\{atomId\}/relatedList atoms related to an atom.
GET/v1/projects/\{projectId\}/brain/atoms/\{atomId\}/sourceCite an atom — its source document + grounding span.
GET/v1/projects/\{projectId\}/brain/atoms/\{atomId\}/sourcesList an atom’s backing sources (claim-merge audit).
POST/v1/projects/\{projectId\}/brain/atoms/\{atomId\}/supersedeSupersede an atom with a successor.
GET/v1/projects/\{projectId\}/brain/contextRead the unified team-context payload.
GET/v1/projects/\{projectId\}/brain/contradictionsSurface candidate contradictions for a human to judge.
GET/v1/projects/\{projectId\}/brain/project-briefAssemble the cold-start project brief.
GET/v1/projects/\{projectId\}/brain/reconciliation/claimsServe documented claims to verify against the code.
POST/v1/projects/\{projectId\}/brain/reconciliation/verdictsSubmit a docs-vs-code reconciliation verdict.
GET/v1/projects/\{projectId\}/brain/relevant-knowledgeSurface ambient knowledge for a file or topic.
GET/v1/projects/\{projectId\}/brain/searchSearch atoms.

Conflicts

Conflict detection + resolution + dismiss.

MethodPathSummary
GET/v1/projects/\{projectId\}/conflictsList active conflicts.
GET/v1/projects/\{projectId\}/conflicts/arbitrationList conflicts with colliding intents and resolutions (arbitration/read surface).
POST/v1/projects/\{projectId\}/conflicts/checkPre-check: active intents touching the given files.
POST/v1/projects/\{projectId\}/conflicts/\{conflictId\}/dismissDismiss a conflict (false positive).
POST/v1/projects/\{projectId\}/conflicts/\{conflictId\}/resolveResolve a conflict.

Connected-agents

MethodPathSummary
GET/v1/projects/\{projectId\}/connected-agentsList per-agent connection status.

Cross-references

MethodPathSummary
GET/v1/projects/\{projectId\}/cross-referencesRead cross-project graph neighbours.
POST/v1/projects/\{projectId\}/cross-referencesCreate a cross-project atom reference.

Decisions

Decision log CRUD + Markdown export.

MethodPathSummary
GET/v1/projects/\{projectId\}/decisionsList decisions.
POST/v1/projects/\{projectId\}/decisionsLog a decision.
GET/v1/projects/\{projectId\}/decisions/\{decisionId\}Read a decision.

Decisions.md

MethodPathSummary
GET/v1/projects/\{projectId\}/decisions.mdExport the canonical decision-log markdown.

Documents

Project document CRUD + versions + revert.

MethodPathSummary
GET/v1/projects/\{projectId\}/documentsList documents in a project.
POST/v1/projects/\{projectId\}/documentsCreate a document.
GET/v1/projects/\{projectId\}/documents/\{docId\}Read a document.
PATCH/v1/projects/\{projectId\}/documents/\{docId\}Update a document.
DELETE/v1/projects/\{projectId\}/documents/\{docId\}Soft-delete a document.
POST/v1/projects/\{projectId\}/documents/\{docId\}/revertRevert document to a historical version.
GET/v1/projects/\{projectId\}/documents/\{docId\}/versionsList document versions.
POST/v1/projects/\{projectId\}/documents/\{documentId\}/reextract-spanRe-extract a single span of one document (PRD-046 P3 — explicit, not auto-on-save).

Extraction

Project extraction config + bulk re-extraction.

MethodPathSummary
POST/v1/projects/\{projectId\}/extraction/agent-submissionsSubmit agent-run extraction results (PRD-048 dual-mode).
GET/v1/projects/\{projectId\}/extraction/agent-workPull documents needing agent extraction (PRD-048 dual-mode).
GET/v1/projects/\{projectId\}/extraction/configRead the per-project extraction config (provider/model/budget/BYOK proof-of-presence).
PATCH/v1/projects/\{projectId\}/extraction/configUpdate per-project extraction provider/model/budget/BYOK.
GET/v1/projects/\{projectId\}/extraction/progressProject-level extraction progress aggregate.
GET/v1/projects/\{projectId\}/extraction/promptFetch the versioned extraction prompt (PRD-048 dual-mode).
POST/v1/projects/\{projectId\}/extraction/re-extract-allEnqueue re-extraction for every document in a project.
POST/v1/projects/\{projectId\}/extraction/resumeResume extraction after a credit pause.
GET/v1/projects/\{projectId\}/extraction/runsList extraction runs (paginated history).
GET/v1/projects/\{projectId\}/extraction/statusPer-document latest extraction status.

Imports

Bulk-import job CRUD.

MethodPathSummary
POST/v1/projects/\{projectId\}/importsRun an import job.
GET/v1/projects/\{projectId\}/imports/\{importId\}Read import job status.
DELETE/v1/projects/\{projectId\}/imports/\{importId\}Cancel a pending or running import job.

Init-brief

MethodPathSummary
GET/v1/projects/\{projectId\}/init-briefAssemble the populated-on-arrival first-run init brief.

Intents

Active intent broadcast + list + retract.

MethodPathSummary
GET/v1/projects/\{projectId\}/intentsList active intents.
POST/v1/projects/\{projectId\}/intentsBroadcast an intent.
DELETE/v1/projects/\{projectId\}/intents/\{intentId\}Release an intent (transition active → released).

Git mirror

Configure, status, test, and force-push the Git mirror.

MethodPathSummary
POST/v1/projects/\{projectId\}/mirror/configureConfigure git mirror.
POST/v1/projects/\{projectId\}/mirror/pushTrigger an immediate mirror push.
GET/v1/projects/\{projectId\}/mirror/statusRead git mirror status.
POST/v1/projects/\{projectId\}/mirror/testTest git mirror connection.

Restore

MethodPathSummary
POST/v1/projects/\{projectId\}/restoreRestore a pending-deletion project (grace window only).

Sessions

Session lifecycle + active session retrieval.

MethodPathSummary
POST/v1/projects/\{projectId\}/sessionsStart a session.
GET/v1/projects/\{projectId\}/sessions/latestRead the caller's latest session for this project.
PATCH/v1/projects/\{projectId\}/sessions/\{sessionId\}Save session state.
POST/v1/projects/\{projectId\}/sessions/\{sessionId\}/endEnd a session.

Timeline

MethodPathSummary
GET/v1/projects/\{projectId\}/timelineWhat changed — the date-bounded knowledge changelog.
GET/v1/projects/\{projectId\}/timeline/historyShow the debate — a subject’s supersession/reversal arc.

Watcher

Watcher insight retrieval + manual run trigger + config.

MethodPathSummary
PATCH/v1/projects/\{projectId\}/watcher/configUpdate per-project Watcher configuration (503 stub at v1).
GET/v1/projects/\{projectId\}/watcher/insightsList Watcher insights for a project (503 stub at v1).
POST/v1/projects/\{projectId\}/watcher/runTrigger an ad-hoc Watcher run (503 stub at v1).

Teams

Team CRUD + member management + invitations. Teams own projects; members inherit project access through team membership.

MethodPathSummary
POST/v1/teamsCreate a team.
POST/v1/teams/invites/\{inviteId\}/acceptAccept a team invite.
GET/v1/teams/\{teamId\}Read a team.
PATCH/v1/teams/\{teamId\}Update a team.
POST/v1/teams/\{teamId\}/invitesIssue a team invite.
GET/v1/teams/\{teamId\}/linksList the team's project links.
POST/v1/teams/\{teamId\}/linksLink two projects of the team.
DELETE/v1/teams/\{teamId\}/links/\{linkId\}Revoke a project link.
GET/v1/teams/\{teamId\}/membersList team members.
GET/v1/teams/\{teamId\}/poolRead the team's shared-knowledge pool project.
POST/v1/teams/\{teamId\}/poolGet-or-create the team's shared-knowledge pool project.
GET/v1/teams/\{teamId\}/pool/atomsQuery the team pool.
POST/v1/teams/\{teamId\}/pool/entriesWrite one knowledge entry into the team pool.
GET/v1/teams/\{teamId\}/rollupRead the portfolio rollup.

Providers

MethodPathSummary
GET/v1/providersList the provider/model catalog.