{"openapi":"3.1.0","info":{"title":"Bihor Info — API public pentru agenți AI","version":"1.0.0","description":"Știri locale & județ Citire publică, fără autentificare. Limba conținutului este română (ro-RO). Preluarea este permisă cu atribuire: titlu, publicație și link canonic. Index: https://bihorinfo.ro/llms.txt"},"servers":[{"url":"https://bihorinfo.ro"}],"tags":[{"name":"articles","description":"Articole publicate"},{"name":"feeds","description":"Feed-uri și indexuri pentru agenți"}],"paths":{"/api/public/articles":{"get":{"operationId":"listPublicArticles","summary":"Listează articolele publicate","tags":["articles"],"parameters":[{"name":"q","in":"query","required":false,"description":"Căutare în text. Sub 2 caractere este ignorată.","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Slug de categorie.","schema":{"type":"string"}},{"name":"tag","in":"query","required":false,"description":"Slug de etichetă.","schema":{"type":"string"}},{"name":"author","in":"query","required":false,"description":"Slug de autor.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Pagina, implicit 1.","schema":{"type":"integer","minimum":1,"default":1}},{"name":"limit","in":"query","required":false,"description":"Rezultate pe pagină, implicit 20, maxim 50.","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"since","in":"query","required":false,"description":"Doar articole de la acest moment: 24h, 48h, 7d sau dată ISO.","schema":{"type":"string"}},{"name":"includeContent","in":"query","required":false,"description":"true sau 1 adaugă contentMarkdown și contentText.","schema":{"type":"string","enum":["true","1"]}}],"responses":{"200":{"description":"Pagina de articole.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArticleList"}}}},"400":{"description":"Parametru invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/public/articles/{slug}":{"get":{"operationId":"getPublicArticle","summary":"Articol publicat, cu text integral","tags":["articles"],"parameters":[{"name":"slug","in":"path","required":true,"description":"Slug-ul articolului. Sufixul .md este ignorat.","schema":{"type":"string"}}],"responses":{"200":{"description":"Articolul, inclusiv Markdown, text și HTML.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Article"}}}},"301":{"description":"Slug vechi. Location indică slug-ul canonic."},"404":{"description":"Articolul nu există.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/articol/{slug}.md":{"get":{"operationId":"getArticleMarkdown","summary":"Articolul în Markdown","tags":["feeds"],"parameters":[{"name":"slug","in":"path","required":true,"description":"Slug-ul articolului.","schema":{"type":"string"}}],"responses":{"200":{"description":"Document Markdown cu frontmatter YAML.","content":{"text/markdown":{"schema":{"type":"string"}}}},"404":{"description":"Articolul nu există.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/categorie/{slug}.md":{"get":{"operationId":"getCategoryMarkdown","summary":"Categoria în Markdown, cu ultimele articole","tags":["feeds"],"parameters":[{"name":"slug","in":"path","required":true,"description":"Slug-ul categoriei.","schema":{"type":"string"}}],"responses":{"200":{"description":"Index Markdown al categoriei.","content":{"text/markdown":{"schema":{"type":"string"}}}},"404":{"description":"Categoria nu există.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/llms.txt":{"get":{"operationId":"getLlmsTxt","summary":"Index pentru agenți AI","tags":["feeds"],"responses":{"200":{"description":"Index text/plain.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/llms-full.txt":{"get":{"operationId":"getLlmsFull","summary":"Textul integral al articolelor recente","tags":["feeds"],"responses":{"200":{"description":"Ultimele 30 de articole, în Markdown.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/feed.json":{"get":{"operationId":"getJsonFeed","summary":"JSON Feed 1.1","tags":["feeds"],"responses":{"200":{"description":"Feed JSON.","content":{"application/feed+json":{"schema":{"type":"string"}}}}}}},"/rss.xml":{"get":{"operationId":"getRss","summary":"RSS 2.0 cu conținut HTML","tags":["feeds"],"responses":{"200":{"description":"Feed RSS.","content":{"application/rss+xml":{"schema":{"type":"string"}}}}}}},"/sitemap.xml":{"get":{"operationId":"getSitemap","summary":"Sitemap XML","tags":["feeds"],"responses":{"200":{"description":"Sitemap.","content":{"application/xml":{"schema":{"type":"string"}}}}}}},"/news-sitemap.xml":{"get":{"operationId":"getNewsSitemap","summary":"Sitemap pentru știri","tags":["feeds"],"responses":{"200":{"description":"News sitemap.","content":{"application/xml":{"schema":{"type":"string"}}}}}}},"/.well-known/openapi.json":{"get":{"operationId":"getOpenApi","summary":"Această specificație","tags":["feeds"],"responses":{"200":{"description":"OpenAPI 3.1.0.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/.well-known/ai-plugin.json":{"get":{"operationId":"getAiPlugin","summary":"Manifest ai-plugin.json","tags":["feeds"],"responses":{"200":{"description":"Manifest fără autentificare.","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"schemas":{"Article":{"type":"object","properties":{"id":{"type":"integer"},"slug":{"type":"string"},"title":{"type":"string"},"excerpt":{"type":["string","null"]},"url":{"type":"string"},"markdownUrl":{"type":"string"},"apiUrl":{"type":"string"},"site":{"type":"string"},"siteName":{"type":"string"},"language":{"const":"ro-RO"},"publishedAt":{"type":["string","null"]},"updatedAt":{"type":"string"},"wordCount":{"type":"integer"},"readingTimeMinutes":{"type":"integer"},"authors":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"url":{"type":"string"}}}},"categories":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"url":{"type":"string"}}}},"tags":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"url":{"type":"string"}}}},"coverImage":{"type":["string","null"]},"summary60s":{"type":"string"},"contentMarkdown":{"type":"string"},"contentText":{"type":"string"},"contentHtml":{"type":"string"}}},"ArticleList":{"type":"object","properties":{"site":{"type":"string"},"siteName":{"type":"string"},"language":{"const":"ro-RO"},"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"totalPages":{"type":"integer"},"articles":{"type":"array","items":{"$ref":"#/components/schemas/Article"}}}},"Error":{"type":"object","properties":{"error":{"type":"string"}}}}}}