{"status":"ok","name":"KONDEVS API","version":"1.1.0","docs":"https://www.kondevs.com/developers/","openapi":"https://www.kondevs.com/openapi.json","api_catalog":"https://www.kondevs.com/.well-known/api-catalog","auth":"https://www.kondevs.com/auth.md","errors":"Every /api/* error is JSON: { status: \"error\", code, message, hint, docs }. OAuth endpoints use the RFC 6749 format, /mcp and /api/a2a JSON-RPC 2.0.","endpoints":[{"method":"GET","path":"/api/","auth":"none","description":"This index."},{"method":"GET","path":"/api/health","auth":"none","description":"Liveness probe."},{"method":"POST","path":"/mcp","auth":"none","description":"MCP server (JSON-RPC 2.0, Streamable HTTP): search and read articles, list services, company facts."},{"method":"POST","path":"/api/a2a","auth":"none","description":"A2A agent (JSON-RPC 2.0, message/send)."},{"method":"GET","path":"/api/content/version","auth":"none","description":"Content API version and the rendering capabilities of this site."},{"method":"GET","path":"/api/content/catalog","auth":"bearer (content:read)","description":"Published articles, categories and tags."},{"method":"POST","path":"/api/content/","auth":"bearer (content:write)","description":"Publish an article; ?dry_run=true validates without storing; accepts Idempotency-Key."},{"method":"PUT","path":"/api/content/{slug}","auth":"bearer (content:write)","description":"Replace an article."},{"method":"DELETE","path":"/api/content/{slug}","auth":"bearer (content:write)","description":"Unpublish an article."},{"method":"POST","path":"/api/oauth/token","auth":"client secret","description":"OAuth 2.0 client_credentials: exchange an issued secret for a 1-hour bearer token."},{"method":"GET","path":"/api/oauth/register","auth":"none","description":"How to obtain credentials (issued by human review, no self-service)."}]}