{"openapi":"3.1.0","info":{"title":"June — build agents into real apps","description":"The React framework where an agent is a feature, not a separate runtime: your server actions are its tools, every turn is durable, and routes also serve MCP.","version":"0.0.0"},"servers":[{"url":"https://june.build"}],"paths":{"/api/search_site":{"post":{"operationId":"search_site","summary":"Search june.build","description":"Search june.build's pages by keyword. Returns matching pages as concise cards (slug, title, summary) — fetch full content with get_page.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"Keyword or phrase"}},"required":["query"]}}}},"responses":{"200":{"description":"The result of search_site, as JSON.","content":{"application/json":{"schema":{"description":"Whatever search_site returns."}}}},"400":{"description":"The body is not JSON (invalid_json) or does not match the input schema (invalid_input).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"The request is not Content-Type: application/json (unsupported_media_type).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"The action threw (execution_error).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-mcp-annotations":{"title":"Search june.build","readOnlyHint":true,"openWorldHint":false}}},"/api/get_page":{"post":{"operationId":"get_page","summary":"Read a june.build page","description":"Fetch one june.build page as clean markdown. Slugs: index, why, benchmarks, about, contact, privacy, blog/<slug>, docs/<slug>.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string","description":"Page slug (e.g. why)"}},"required":["slug"]}}}},"responses":{"200":{"description":"The result of get_page, as JSON.","content":{"application/json":{"schema":{"description":"Whatever get_page returns."}}}},"400":{"description":"The body is not JSON (invalid_json) or does not match the input schema (invalid_input).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"The request is not Content-Type: application/json (unsupported_media_type).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"The action threw (execution_error).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-mcp-annotations":{"title":"Read a june.build page","readOnlyHint":true,"openWorldHint":false}}}},"components":{"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["method_not_allowed","not_found","unsupported_media_type","invalid_json","invalid_input","unauthorized","execution_error"],"description":"Machine-readable error code."},"message":{"type":"string","description":"What went wrong."},"hint":{"type":"string","description":"How to fix the request, when known."}}}}}}}}