Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

HTTP API Overview

Ijima’s stable contract is a REST/JSON surface; every route is guarded by a Schubert capability check and scoped to a namespace. The typed client is ijima-client. Namespace-sensitive routes accept ?namespace=<ns> (omit for the caller’s personal namespace; foreign *_private namespaces are always rejected).

Route map (selected)

MethodPathCapability
GET/health(none)
GET/statusadmin
POST/memories[?namespace=]memory:write
GET/memories?namespace=&limit=memory:read (browse)
GET/memories/:id?namespace=memory:read
DELETE/memories/:id?namespace=memory:write
POST/memories/check?namespace=memory:read (dedup pre-check)
POST/memories/searchmemory:read
POST/memories/:id/promotetrust:promote
GET/wakeupmemory:read (top-N wake-up context)
GET/rooms, /taxonomy, /palace/graph, /tunnelmemory:read
POST/kg/triplesknowledge:write
GET/kg/entities/:id, /kg/timeline/:entityknowledge:read
POST/sessions, /sessions/:id/turns, /sessions/:id/endsession:ingest
POST/sessions/:id/minemining:trigger
GET/mining/queue, decisions (accept/reject)mining:review
POST/diariesmemory:write
GET/repos/resolve?path=memory:read (RepoDirectory)
POST/tokens/revokeadmin
GET/tokens/revocationsadmin
POST/namespaces/grant, /namespaces/revokeadmin
GET/namespaces/members?namespace=admin
GET/federation/state, routed-write, conflict-signalfederation feature

The full table (with the store method each route maps to) lives in the daemon crate’s api module doc comment.

Authentication

One header: Authorization: Bearer <GrantToken>. The grant bundles the principal’s capabilities; the daemon verifies the signature, checks revocation, and evaluates each request’s capability geometrically (see Capabilities).

Conventions

  • Errors are JSON with a stable shape; 403 means the grant lacks the capability (or the namespace is off-limits), 401 means the bearer failed verification/revocation, 409 duplicate content on store.
  • Provenance fields are accepted on write and echoed on read — the daemon stamps defaults (created_at, instance identity) where absent.
  • All list endpoints are limit-bounded.

Client

For harnesses, depend on ijima-client (typed async HTTP) rather than hand-rolling requests — see The Client Crate.