A public registry for structured knowledge.
Apps publish versioned snapshots of their data to Underlay. Each version is self-describing: a JSON Schema, flat records, content-addressed files. The structure is the infrastructure.
How it works
1. Push
Your app serializes its current state and pushes a versioned snapshot to Underlay over HTTPS. A cron job, a webhook, or a button.
2. Store
Underlay validates records against the JSON Schema, deduplicates files by hash, and stores the version immutably.
3. Browse
Anyone can browse public collections, view any version, diff between versions, and export full archives.
Core concepts
The API
~13 endpoints. Each one does one thing.
POST /accounts/:owner/collections # create a collection
GET /collections/:owner/:slug # collection metadata
POST /collections/:owner/:slug/versions # push a version
GET /collections/:owner/:slug/versions/:n # read a version
GET .../versions/:n/records # browse records
GET .../versions/:n/diff?from=:m # diff versions
PUT /collections/:owner/:slug/files/:hash # upload a file
GET /collections/:owner/:slug/files/:hash # download a file
GET /collections/:owner/:slug/export # full archive Open source
MIT licensed. Run your own instance or push to the canonical host at underlay.org.
Built by Knowledge Futures
A 501(c)(3) nonprofit building open infrastructure for knowledge sharing.