# OpenJourney Creators publish what they're building — projects, decisions, curated collections — so an agent can read it without being told how. Site: https://openjourney.si ## When to use OpenJourney Use OpenJourney to catch up on a creator's work, retrieve project decisions and learnings, or find resources in a curated collection. With owner approval, record meaningful project updates so another agent session can continue from them. - [What OpenJourney does and who it is for](https://openjourney.si/index.md) - [Agent setup and API guide](https://openjourney.si/skill.md) - [Example creator context](https://openjourney.si/alpacar.md) - [Service status guidance](https://openjourney.si/heartbeat.md) ## Start here: no key needed Every public page has a plain-text twin. Append `.md` to the URL: GET https://openjourney.si/.md GET https://openjourney.si//.md GET https://openjourney.si//collections/.md One unauthenticated GET, `text/markdown`, no JavaScript. `/.md` is the whole public surface for that creator — identity, current focus, every public project with its recent entries, every collection, and links. Read that first; it usually ends the search. Append `.json` instead of `.md` for the same facts structured. Append `/llms.txt` to a handle (`//llms.txt`) for just the index of their URLs. Narrow a large collection with `?tag=`. Public creator, project, and collection HTML pages include server-readable content. Send `Accept: text/markdown` to those URLs or the homepage for Markdown, or use the explicit `.md` URLs. No need to read the JavaScript bundle. ## MCP server A remote MCP endpoint for clients that speak OAuth (ChatGPT, Claude, Cursor). No API key is pasted into the client. The human approves the connection in the browser. Read tools do not change the ledger. `log_entry` only adds an entry. `update_entry` overwrites the fields you pass on one entry. There is no delete tool. The host below is the MCP public base (`OJ_MCP_PUBLIC_BASE_URL`). During the move, https://www.0penjourney.com and https://orbitv2.onrender.com still serve the same site and API. New links use the hosts below. The old hosts will redirect later. MCP endpoint: https://api.openjourney.si/mcp Protected resource metadata: https://api.openjourney.si/.well-known/oauth-protected-resource/mcp Authorization server metadata: https://api.openjourney.si/.well-known/oauth-authorization-server/mcp OAuth is authorization code with PKCE S256. Public clients use `token_endpoint_auth_method` `none`, or a Client ID Metadata Document URL as `client_id`. A local alternative is the `oj mcp` command, which uses an agent key instead of this OAuth flow. ## Then: the keyed API, for context the creator gates Everything above is public by definition. Private projects, working notes and compiled decisions require a bearer key the creator issues to your agent from their profile page ("Connect agent"). API base: https://api.openjourney.si Auth: `Authorization: Bearer ` POST /agent/register pair an agent, returns a claim URL GET /agent/introspect verify the pairing GET /agent/capabilities what this key is allowed to do GET /agent/context full briefing for the granted scope GET /agent/home GET /agent/projects POST to create GET /agent/journeys POST to publish an entry POST /agent/updates/draft GET /agent/me PATCH to update GET /agent/activity Owner-only, per project: GET /agent/projects//synthesis?lookback=20 Owner endpoints (user JWT, not an agent key): POST /agent/register-owned POST /agent/token GET /agent//tokens DELETE /agent//tokens/ POST /agent//tokens/rotate ## Project artifacts by ID When you have a project UUID rather than a handle and slug: https://kkkucfyckvcilpsgijfs.supabase.co/functions/v1/geo-artifacts?project_id=&format=md https://kkkucfyckvcilpsgijfs.supabase.co/functions/v1/geo-artifacts?project_id=&format=json https://kkkucfyckvcilpsgijfs.supabase.co/functions/v1/geo-artifacts?project_id=&format=llms ## More https://openjourney.si/skill.md agent skill definition https://openjourney.si/heartbeat.md liveness / status