/.well-known/odei-public-contract.json
Use first for architecture, maturity framing, and legacy-language conflicts.
Contracts for AI Agents
api.odei.ai/docs is the agent-facing operating manual for ODEI. Start with the canonical
public analysis contract, then read the agent registration contract, OpenAPI artifacts, x402 metadata,
and runtime lanes. Use this page to decide what an external assistant may read publicly, when it must
preserve app handoff, and where signed clients enter the governed query plane.
/.well-known/odei-agent-registration.json
Canonical rules for Claude, Codex, Gemini, Grok, and custom assistants.
Read canonical contracts before summarizing, registering, or calling ODEI.
External assistants should treat this page as an index, not as the source of truth. The source of truth is
the machine contract layer: public analysis contract first, agent registration contract second, then
OpenAPI, x402, llms.txt, agents.txt, and skill.md.
/.well-known/odei-public-contract.json
2. Read /.well-known/odei-agent-registration.json
3. Use OpenAPI/x402 only after boundary selection
Agent discovery artifacts
Preserve app handoff when wallet, login, or local runtime setup is required.
If an agent is guiding a user through ODEI registration, it should keep the chosen app entry path intact.
Direct API intake is a fallback only when browser or wallet automation is unavailable, and it must preserve
assistantId, experiencePath, launchPath, and consent.
Use the public analysis contract before making architecture, maturity, or domain-count claims.
Use the registration contract before inventing onboarding, intake, wallet, or app-handoff flows.
Public reads, consent-gated writes, authenticated v2 queries, and x402 metadata are separate trust lanes.
Agents should model ODEI by contract boundary, not by page copy.
Agent Bootstrap Sequence
External agents should gather canonical context before answering user questions, registering a user, or executing any governed API call. This sequence prevents stale public copy from overriding the current machine-readable contract.
Load canonical discovery and analysis rules
Read the public contract before summarizing ODEI, judging maturity, or resolving legacy terminology.
curl -fsS https://api.odei.ai/health
curl -fsS https://api.odei.ai/.well-known/odei-public-contract.json
curl -fsS https://api.odei.ai/llms.txt
curl -fsS https://api.odei.ai/agents.txt
Select the correct handoff or API lane
Use registration rules for app handoff, OpenAPI for REST calls, and x402 only for payment discovery.
curl -fsS https://api.odei.ai/.well-known/odei-agent-registration.json
curl -fsS https://api.odei.ai/openapi.json
curl -fsS https://api.odei.ai/.well-known/x402.json
Read public state before signed execution
Use public projection for orientation; use signed v2 only when the client has credentials.
curl -fsS https://api.odei.ai/api/worldmodel/live
curl -fsS https://api.odei.ai/api/v2/schema
/.well-known/odei-public-contract.json, then llms.txt,
agents.txt, skill.md, OpenAPI, and the live health endpoints. Signed v2
world-model and guardrail routes require Authorization: Bearer ... or X-Api-Key.
Local Runtime Boundary
ODEI's public API is a discovery and governed-query surface. The full operator workspace remains local-first: terminal, graph, SQLite continuity, MCP services, provider lanes, and app runtime stay on the operator machine.
App handoff lane
Registration and wallet-dependent flows belong on app.odei.ai. Agents should preserve the chosen entry path instead of inventing a new backend flow.
App handoff:
- Create My Agent
- Upgrade My Agent
- Launch Builder
- guided app handoff first
Local requirements
ODEI does not fake the graph layer in the browser. The build expects the real local substrate to exist on the same machine.
Required on the same machine:
- Neo4j Community Edition
- one supported provider CLI
- Claude Code, Codex, or Gemini CLI
- local machine you control
Promotion rule
An install only becomes meaningful when the local runtime actually comes online with the operator's stack behind it.
Install becomes live when:
- ODEI launches locally
- graph + SQLite + MCP come online
- the chosen provider lane is attached
- the runtime verifies successfully
Current public scope
The public release lane is intentionally narrow and explicit.
Public release lane:
- macOS build
- Windows x64 build
- Windows arm64 build
- versioned updater feed
- Linux not in the current public lane
What Ships in the Build
The desktop runtime is already concrete. These are the technical layers the current Builder install lane delivers, not a roadmap wish list.
World Model
The build includes the real World Model surface with sectors, filters, search, and ODEI styling running against local graph state.
World Model:
- sector structure
- filters + search
- local graph-backed rendering
Agent workspace
The local workspace is designed around a real terminal and provider lanes instead of a hosted browser chat.
Provider lanes:
- Claude Code
- Codex
- Gemini CLI
MCP stack
Bundled MCP services manage graph context, memory retrieval, dialogue history, and runtime coordination from inside the installed environment.
MCP services:
- graph context
- memory retrieval
- dialogue history
- runtime coordination
SQLite continuity
Conversation state is persisted locally in SQLite so the operator keeps a recoverable trail instead of resetting every session.
SQLite continuity:
- local conversation state
- recoverable history trail
- no zero-state restart
Neo4j graph runtime
Neo4j Community Edition hosts the local graph ODEI uses for World Model state, memory structure, and persistent context topology.
Neo4j role:
- World Model state
- memory structure
- persistent context topology
Updates
The release lane is versioned and publishes updater artifacts from the same production origin as the docs.
Release lane:
- versioned desktop artifacts
- release manifest
- macOS updater feed
- update prompts in packaged installs
Local-First Boundary
ODEI is not a hosted browser terminal pretending to be local. The graph, continuity, and operator workspace stay on the user's machine, while the public API remains a separate contract surface for discovery, schema, and governed query access.
What stays local
- World Model state
- SQLite dialogue continuity
- MCP services
- provider lanes
- local graph runtime
What stays public
- docs + release artifacts
- health + world-model projection
- token telemetry
- v2 schema + signed query plane
AI-assisted setup
If installation needs help, the recommended fallback is the same local-first posture: ask your local AI agent to finish the machine setup instead of routing the work back through a hosted browser flow.
Ask your local AI agent to:
- finish Neo4j setup
- validate terminal/runtime dependencies
- complete the local environment
- verify the app launch path
API Surface Map
ODEI exposes multiple lanes with different trust, auth, and operational constraints. Build your SDK and monitoring around these lanes so the integration stays clean as the runtime expands.
Auth and Governance Matrix
Every lane has a different operational contract. Treat auth, rate limits, and governance posture as part of the domain model, not as an afterthought in the UI.
| Lane | Auth model | Primary use | Guardrails |
|---|---|---|---|
| Public runtime | None | Health, projection, context, token telemetry | Read routes, server-side sanitization |
| Builder + consented writes | None + explicit consent payload | Builder bootstrap metadata and consent-gated write surfaces | 20 writes/min/IP + payload validation |
| Digital World Model API v2 | Bearer JWT or X-Api-Key | Structured graph query and constitutional checks | Auth middleware + daily quota counters |
| x402 contract metadata | Public JSON artifact | Payment capability discovery for clients | Declarative manifest (/.well-known/x402.json) |
Trust, Failure, and Retry Contract
Production clients should treat anonymous reads and signed v2 requests as separate modes. Build around the real response envelopes below, not around optimistic assumptions.
Anonymous health and schema reads are safe entry points.
Humans and agents can start with public runtime reads. These routes are the correct place to confirm liveness, schema shape, and contract reachability before any signed call.
curl -fsS https://api.odei.ai/health
curl -fsS https://api.odei.ai/api/v2/health
curl -fsS https://api.odei.ai/api/v2/schema
Signed v2 routes fail closed with a deterministic 401 envelope.
Unauthenticated calls to governed world-model and guardrail routes return the same explicit unauthorized contract. Handle this as a normal state transition, not as an ambiguous server fault.
{
"ok": false,
"error": "Missing authentication credential",
"code": "UNAUTHORIZED"
}
Recommended order for a signed API client.
- Read
/healthand/openapi.json. - Fetch
/api/v2/schemato bind the graph model. - Store auth material outside the anonymous client.
- Use signed requests for
/api/v2/world-model/*and/api/v2/guardrail/check. - Treat
/.well-known/x402.jsonas a published artifact, not as an auth grant.
Endpoint Reference
Search by route, method, lane, auth model, or tag. The catalog below is grouped by trust lane so the reference scales as ODEI adds more public, governed, and machine-contract surfaces.
Reference Flows
Keep these flows in CI smoke tests so contract regressions are detected before deployment.
1) Runtime Smoke
Verify server liveness and public contract endpoint.
curl -fsS https://api.odei.ai/health
curl -fsS https://api.odei.ai/openapi.json
2) Discovery Contract Verification
Pin the canonical analysis and registration contracts before automating any summary or handoff flow.
curl -fsS https://api.odei.ai/.well-known/odei-public-contract.json
curl -fsS https://api.odei.ai/.well-known/odei-agent-registration.json
3) Live World Model Read
Confirm the zero-auth graph projection before you move into signed query clients.
curl -fsS https://api.odei.ai/api/worldmodel/live
curl -fsS https://api.odei.ai/api/worldmodel
4) V2 Query/Auth
Execute authenticated graph query on v2 lane.
curl -X POST https://api.odei.ai/api/v2/world-model/query \
-H "Authorization: Bearer <jwt>" \
-H "Content-Type: application/json" \
-d '{"search":"guardrail","limit":5}'
Operational Contracts and Policy Links
Production integrations should pin these documents in your build and test pipeline.