Conventions
- JSON in, JSON out. Send
Content-Type: application/json; answers are JSON with a status code. The one exception is a file upload, which sends the bytes as the body. - Errors carry the status code and a body
{"error": "…"}with the reason in plain words. See Errors and limits. - Public reads need no token. Account calls send
Authorization: Bearer <token>, see Authentication. - Times are ISO 8601 in UTC, for example
2026-09-11T14:02:10.421Z. - Identifiers are integers for accounts, proposals, services, files and journal entries; modules are addressed by their slug, for example
values-and-community. - No versioning yet. The API changes with the Hub; the changelog lists what changed and when.
A first call
curl https://entrosana.app/api/healthz{"ok": true, "db": "ok", "migrations": 20}The resources
| Page | Covers |
|---|---|
| Authentication | sign-in links, tokens, devices, fresh tokens |
| Accounts and profiles | /api/me, public profiles, journal, applications, invitations, export, erasure |
| Modules and points | your modules, editing, contributors, points, search, catalogue meta |
| Services and hooks | checks, heartbeats, rotation |
| Files | upload, list, share, delete |
| Requests and proposals | the public forms |
| Team endpoints | queue, decisions, members |
| Errors and limits | status codes and rate limits |
Public, no token
| Call | Returns |
|---|---|
GET /api/healthz | {"ok": true, "db": "ok", "migrations": n}; 503 with "db": "fail" when the database does not answer |
GET /api/modules/meta | contributors and points per module, keyed by slug |
GET /api/points | point counts per module and, signed in, your own points |
GET /api/search?q=… | people, public journal entries and published modules |
GET /api/profiles/<id>, GET /api/profiles/slug/<name> | a public profile |
GET /api/avatars/<id> | a profile picture |
GET /api/files/<account>/<file>/<name> | a public file |
GET /api/audit/verify | the check of the record chain |
GET, POST /api/hooks/<key> | a heartbeat |
POST /api/requests | a request or a report |
POST /api/contributions | a proposal |
POST /api/verify/request | a sign-in or confirmation link |