Skip to main content

Documentation Index

Fetch the complete documentation index at: https://nyuchidocs-mintlify-nyuchi-api-gateway-1778247744.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

The news namespace exposes the Mukoko news read surface—articles, journalists, and media organisations—plus a small write surface for engagement actions (like, bookmark, comment, follow). It is backed by the mukoko_news_db Supabase project. Articles and metadata are scored and curated upstream. The router serves the curated read surface to consumer apps and accepts engagement events from authenticated readers. Base path: /v1/news

Endpoints

MethodPathAuthPurpose
GET/v1/news/articlesOptionalList articles. Supports organization_id, journalist_id, limit, offset.
GET/v1/news/articles/{article_id}OptionalFetch a single article.
GET/v1/news/organizationsOptionalList media organisations.
GET/v1/news/journalistsOptionalList journalists. Supports organization_id.
POST/v1/news/articles/{article_id}/likeRequiredLike an article (idempotent upsert).
POST/v1/news/articles/{article_id}/bookmarkRequiredBookmark an article (idempotent upsert).
POST/v1/news/commentsRequiredPost a comment on an article. Supports threaded replies via parent_id.
POST/v1/news/journalists/{journalist_id}/followRequiredFollow a journalist.
POST/v1/news/organizations/{organization_id}/followRequiredFollow a media organisation.

List recent articles

Articles are ordered by published_at descending.
curl "https://api.nyuchi.com/v1/news/articles?limit=10"

Like an article

Like, bookmark, and follow endpoints are idempotent—calling them twice is safe. The caller’s identity is recorded automatically.
curl -X POST https://api.nyuchi.com/v1/news/articles/art_01/like \
  -H "Authorization: Bearer $TOKEN"

Post a comment

curl -X POST https://api.nyuchi.com/v1/news/comments \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "article_id": "art_01",
    "text": "Great reporting on this story.",
    "parent_id": null
  }'
Set parent_id to a comment ID to post a threaded reply.
Several news.* tables have row-level security disabled. The router enforces auth in code on engagement endpoints; database policies will replace that enforcement before public release.