API

The Bassel Khartabil knowledge base exposes a self-hosted REST API for feeds, contributions, and subscriptions.

Base URL: /api/v1 (proxied at /api/v1 in production)

Public feeds

Catalog feeds are published as JSON and Atom at /data/. The site blog also has Zola-generated syndication feeds at the root.

Catalog feeds

FeedJSONAtom
People/data/people.json/data/people.atom
Artworks/data/artworks.json/data/artworks.atom
Projects/data/projects.json/data/projects.atom
History/data/events.json/data/events.atom
Archives/data/archives.json/data/archives.atom
Gaps/data/gaps.json/data/gaps.atom
News/data/news.json/data/news.atom

Site blog feeds

FormatURL
Atom/atom.xml
RSS/rss.xml

API endpoints

MethodPathAuthDescription
GET/api/v1/healthService health
GET/api/v1/statsCollection metrics
GET/api/v1/peoplePeople feed (JSON)
GET/api/v1/people.atomPeople feed (Atom)
GET/api/v1/artworksArtworks feed (JSON)
GET/api/v1/artworks.atomArtworks feed (Atom)
GET/api/v1/projectsProjects feed (JSON)
GET/api/v1/projects.atomProjects feed (Atom)
GET/api/v1/eventsHistory feed (JSON)
GET/api/v1/events.atomHistory feed (Atom)
GET/api/v1/archivesArchives catalog (JSON)
GET/api/v1/archives.atomArchives catalog (Atom)
GET/api/v1/sourcesArchives catalog alias (JSON)
GET/api/v1/sources.atomArchives catalog alias (Atom)
GET/api/v1/gapsOpen knowledge gaps (JSON)
GET/api/v1/gaps.atomKnowledge gaps catalog (Atom)
GET/api/v1/newsNews index (JSON)
GET/api/v1/news.atomNews index (Atom)
POST/api/v1/subscribeEmail list signup
POST/api/v1/key-requestRequest API key (email required)
POST/api/v1/submissionscontributorSubmit an archive (JSON)
POST/api/v1/submissions/uploadcontributorSubmit an archive with files and URLs (multipart)
GET/api/v1/auth/mekeyReturn role for the provided API key
GET/api/v1/admin/overviewadminDashboard summary (submissions, key requests, subscribers)
GET/api/v1/submissionsadminList submissions
GET/api/v1/subscribersadminList subscribers
GET/api/v1/key-requestsadminList key requests

Authentication

Send X-Api-Key header. Roles: contributor (submit archives) and admin (review queue, subscribers, key requests).

Admin dashboard (admin API key required)

Request an API key