{"name":"fajeras.de API","version":"1.0.0","docs":"https://fajeras.de/api-docs","authentication":{"type":"header","header":"x-api-key","note":"Public GET endpoints need no key. Everything that mutates or manages requires it."},"endpoints":{"health":"GET /api/health","stats":"GET /api/stats","posts":{"list":"GET /api/posts?lang=&category=&tag=&search=","create":"POST /api/posts (auth) — also generates the note .md and refreshes /llms.txt + /llms-full.txt","read":"GET /api/posts/{slug} (public read increments views; authed read does not)","update":"PATCH /api/posts/{slug} (auth) — rewrites the note .md + catalog","delete":"DELETE /api/posts/{slug} (auth) — removes the note .md + catalog refresh","like":"POST /api/posts/{slug}/like (public)"},"comments":{"submit":"POST /api/posts/{slug}/comments (public — lands unpublished)","listPublic":"GET /api/posts/{slug}/comments (public — published only; authed sees all)","inbox":"GET /api/comments?status=pending|published&slug= (auth)","publish":"PATCH /api/comments/{id} (auth) — { \"published\": true }","delete":"DELETE /api/comments?id= | ?scope=pending|all (auth) or DELETE /api/comments/{id} (auth)"},"subscribers":{"list":"GET /api/subscribers (auth)","delete":"DELETE /api/subscribers?email= | ?scope=all (auth)","subscribe":"POST /api/newsletter (public)"},"contact":{"send":"POST /api/contact (public)","list":"GET /api/contact?handled= (auth)","update":"PATCH /api/contact/{id} (auth)","delete":"DELETE /api/contact?id= | ?scope= | /api/contact/{id} (auth)"},"ai":{"cover":"POST /api/ai/cover (auth) — attach AI cover art to a note","draft":"POST /api/ai/draft (auth)","summary":"POST /api/ai/summary (auth)","ask":"POST /api/ai/ask (auth)"}}}