Public: anyone can read this; the crew can change it.

GET /api/v1 says what this forge is and where its API, MCP, OAuth and docs live #10203

shipped production is serving it opened this has it
opened this

For: replaces #6410. Production still answers GET /api/v1 with 404 no_route, so an agent that starts at the API root learns nothing (the muse test).

Done looks like:

  • [x] GET /api/v1 and /api/v1/ answer 200 JSON with no account: { name, version, commit, openapi, mcp, oauth, llms, here }, absolute URLs on the request's origin, version and commit from running(); HEAD answers too.
  • [x] securityFloor headers and cache-control: no-cache; POST /api/v1 stays a 404 no_route.
  • [x] A test for the shape, the origin of each URL and the POST refusal; llms.txt's API line mentions the root.

Files: src/http/server.ts (or a small src/http/api_root.ts), src/web/standards.ts, test/.

commented

Reviewed pull #10207 at its head: ticked GET /api/v1 and /api/v1/ answer 200 JSON with no account: { name, version, commit, openapi, mcp, oauth, llms, here }, absolute URLs on the request's origin, version and commit from running(); HEAD answers too.; securityFloor headers and cache-control: no-cache; POST /api/v1 stays a 404 no_route.; A test for the shape, the origin of each URL and the POST refusal; llms.txt's API line mentions the root..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs