Skip to content

REST API

The SessionFS API server exposes a REST API for session management, auditing, sync, and settings.

  • Cloud: https://api.sessionfs.dev
  • Self-hosted: Your deployment URL

All endpoints (except signup) require a Bearer token:

Authorization: Bearer sk_sfs_...
MethodPathAuthDescription
POST/api/v1/auth/signupNoneCreate account
GET/api/v1/auth/meBearerCurrent user profile
POST/api/v1/auth/keysBearerCreate API key
GET/api/v1/auth/keysBearerList API keys
DELETE/api/v1/auth/keys/{key_id}BearerDelete an API key
GET/api/v1/auth/verify/{token}NoneVerify email address
MethodPathAuthDescription
GET/api/v1/sessionsBearerList sessions (paginated)
GET/api/v1/sessions/{id}BearerGet session detail
PUT/api/v1/sessions/{id}/syncBearerPush session (upload archive)
GET/api/v1/sessions/{id}/syncBearerPull session (download archive)
GET/api/v1/sessions/{id}/messagesBearerGet paginated messages
GET/api/v1/sessions/{id}/summaryBearerGet session summary
POST/api/v1/sessions/{id}/summaryBearerGenerate session summary
POST/api/v1/sessionsBearerUpload/create a session
DELETE/api/v1/sessions/{id}BearerSoft-delete a session
PUT/api/v1/sessions/{id}/aliasBearerSet session alias
DELETE/api/v1/sessions/{id}/aliasBearerClear session alias
POST/api/v1/sessions/{id}/shareBearerCreate share link
DELETE/api/v1/sessions/{id}/share/{link_id}BearerRevoke share link
GET/api/v1/sessions/share/{token}NoneAccess shared session (public)
POST/api/v1/sessions/share/{token}NoneAccess password-protected share link
GET/api/v1/sessions/searchBearerFull-text search
MethodPathAuthDescription
POST/api/v1/sessions/{id}/auditBearerRun LLM Judge audit
GET/api/v1/sessions/{id}/auditBearerGet latest audit report
GET/api/v1/sessions/{id}/auditsBearerAudit history
GET/api/v1/sessions/{id}/audit/statusBearerCheck background audit status
MethodPathAuthDescription
POST/api/v1/handoffsBearerCreate handoff
GET/api/v1/handoffs/{id}BearerGet handoff details
POST/api/v1/handoffs/{id}/claimBearerClaim handoff (copies session)
GET/api/v1/handoffs/inboxBearerHandoffs received
GET/api/v1/handoffs/sentBearerHandoffs sent
GET/api/v1/handoffs/{id}/summaryNoneGet handoff session summary
MethodPathAuthDescription
GET/api/v1/sync/settingsBearerGet autosync settings
PUT/api/v1/sync/settingsBearerUpdate autosync mode (requires autosync feature if not “off”)
GET/api/v1/sync/watchlistBearerGet watched sessions
POST/api/v1/sync/watch/{id}BearerAdd session to watchlist
DELETE/api/v1/sync/watch/{id}BearerRemove session from watchlist
PUT/api/v1/sync/watch/{id}/{status}BearerUpdate watch status (pending/queued/synced/failed)
GET/api/v1/sync/statusBearerSync status overview (counts, storage usage)
MethodPathAuthDescription
GET/api/v1/settings/judgeBearerGet judge settings
PUT/api/v1/settings/judgeBearerSave judge settings
DELETE/api/v1/settings/judgeBearerClear judge settings
GET/api/v1/settings/judge/modelsBearerDiscover models from custom endpoint
GET/api/v1/settings/audit-triggerBearerGet auto-audit trigger
PUT/api/v1/settings/audit-triggerBearerSet auto-audit trigger
GET/api/v1/settings/githubBearerGitHub installation settings
PUT/api/v1/settings/githubBearerUpdate GitHub settings
GET/api/v1/settings/gitlabBearerGitLab integration settings
PUT/api/v1/settings/gitlabBearerUpdate GitLab settings
DELETE/api/v1/settings/gitlabBearerRemove GitLab integration
MethodPathAuthDescription
GET/api/v1/projects/BearerList projects the user has access to
POST/api/v1/projects/BearerCreate project context (requires project_context feature)
GET/api/v1/projects/{remote}BearerGet project context by git remote
PUT/api/v1/projects/{remote}/contextBearerUpdate context document
DELETE/api/v1/projects/{project_id}BearerDelete project (owner or admin only)
MethodPathAuthDescription
GET/api/v1/projects/{id}/entriesBearerList knowledge entries. Query params: type, pending, search, limit
POST/api/v1/projects/{id}/entries/addBearerCreate a knowledge entry (types: decision, pattern, discovery, convention, bug, dependency)
PUT/api/v1/projects/{id}/entries/{entry_id}BearerDismiss or un-dismiss a knowledge entry
POST/api/v1/projects/{id}/compileBearerCompile pending entries into project context (optional LLM config in body)
GET/api/v1/projects/{id}/compilationsBearerList compilation history. Query param: limit
GET/api/v1/projects/{id}/healthBearerKnowledge health stats (total/pending/compiled/dismissed entries, staleness)
MethodPathAuthDescription
GET/api/v1/projects/{id}/pagesBearerList all wiki pages for a project
GET/api/v1/projects/{id}/pages/{slug}BearerGet a wiki page with backlinks
PUT/api/v1/projects/{id}/pages/{slug}BearerCreate or update a wiki page (requires project_context feature)
DELETE/api/v1/projects/{id}/pages/{slug}BearerDelete a wiki page (requires project_context feature)
POST/api/v1/projects/{id}/pages/{slug}/regenerateBearerRegenerate an auto-generated concept page from latest entries
GET/api/v1/projects/{id}/links/{target_type}/{target_id}BearerGet backlinks for a target
PUT/api/v1/projects/{id}/settingsBearerUpdate project settings (e.g. auto_narrative toggle)
MethodPathAuthDescription
POST/api/v1/orgBearerCreate organization (Team tier or above required)
GET/api/v1/orgBearerGet org info, member list, and current user role
POST/api/v1/org/inviteBearerInvite a member by email (admin only)
POST/api/v1/org/invite/{invite_id}/acceptBearerAccept an org invite
GET/api/v1/org/invitesBearerList pending invites (admin only)
DELETE/api/v1/org/invites/{invite_id}BearerRevoke a pending invite (admin only)
PUT/api/v1/org/members/{user_id}/roleBearerChange a member’s role (admin only)
DELETE/api/v1/org/members/{user_id}BearerRemove a member from the org (admin only)
MethodPathAuthDescription
GET/api/v1/billing/statusBearerCurrent subscription status, tier, storage usage
POST/api/v1/billing/checkoutBearerCreate a Stripe Checkout session (body: tier, seats)
POST/api/v1/billing/portalBearerCreate a Stripe Customer Portal session for self-service management
MethodPathAuthDescription
GET/healthNoneHealth check

After deployment, interactive API docs are available at:

  • Swagger UI: https://your-domain/api/docs
  • ReDoc: https://your-domain/api/redoc