# Milestone: API Readiness Tracker (v0.1) **Purpose:** Central tracker for API surface. Check items as they’re completed. **Definition of Done (per endpoint):** --- ## 0) Ops & Probes * [x] `GET /healthz` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [x] `GET /readyz` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /version` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /metrics` (Prometheus) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /db/health` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /mongo/health` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs --- ## 1) Auth, Sessions & Identity * [ ] `POST /auth/nonce` (SIWE) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `POST /auth/verify` (SIWE → session/JWT) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `POST /register` (wallet-first) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `POST /auth/logout` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `POST /auth/refresh` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /me/sessions` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `DELETE /me/sessions/{session_id}` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs **zkTLS Employment Verification** * [ ] `POST /verify/employment/start` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `POST /verify/employment/submit` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /verify/employment/status?company=...` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs --- ## 2) Users & Profiles * [ ] `GET /user` (me) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `POST /profile` (upsert) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /profile` (public by wallet/id) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs --- ## 3) Companies * [ ] `POST /companies` (admin create) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `PUT /companies/{slug}` (admin update) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /companies/{slug}` (public) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /companies/{slug}/stats` (aggregates + cache) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `POST /companies/{slug}/claim` (employer claims page) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `PUT /admin/companies/{slug}/claim/{id}` (approve/reject) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs --- ## 4) Reviews (Employee Posts) * [ ] `POST /post` (create review; gating by on-chain verification) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /posts` (global feed; filters + cursor) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /posts/{id}` (single review) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /companies/{slug}/posts` (company feed) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `DELETE /posts/{id}` (author soft delete → 410) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `PATCH /posts/{id}` (limited edit window + audit) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /posts/{id}/integrity` (hash/CID) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `POST /posts/{id}/response` (official employer reply) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs **Drafts** * [ ] `POST /posts/drafts` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `PUT /posts/drafts/{id}` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `DELETE /posts/drafts/{id}` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `POST /posts/drafts/{id}/publish` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs **Admin Moderation** * [ ] `PUT /admin/reviews/{id}/status` (state machine) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /admin/reviews/audit` (transitions audit) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs --- ## 5) Reporting & Appeals * [ ] `POST /reports` (user flag review/comment) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /admin/reports?status=...` (triage queue) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `PUT /admin/reports/{id}` (resolve) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `POST /appeals` (author/employer appeal moderation) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /appeals/{id}` (view appeal) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /admin/appeals?status=...` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `PUT /admin/appeals/{id}` (decision) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs --- ## 6) Tags & Taxonomy * [ ] `GET /tags` (public whitelist) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `POST /admin/tags` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `DELETE /admin/tags/{name}` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /admin/tags` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs --- ## 7) Search, Summaries & Typeahead * [ ] `GET /search` (keyword/trigram; optional semantic blend) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /companies/{slug}/summary` (AI pros/cons/themes; cached) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /typeahead?q=&scope=companies|tags|all` (autocomplete) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs --- ## 8) Interview Reviews (Structured) * [ ] `POST /interviews` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /interviews/{id}` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /companies/{slug}/interviews` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs --- ## 9) Salary Reports (Structured) * [ ] `POST /salaries` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /companies/{slug}/salaries` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /companies/{slug}/salaries/summary` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs --- ## 10) Engagement (Reactions, Comments, Bookmarks) **Reactions** * [ ] `POST /reactions` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `DELETE /reactions` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /posts/{id}/reactions/summary` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /comments/{id}/reactions/summary` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs **Comments (threaded)** * [ ] `POST /posts/{id}/comments` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /posts/{id}/comments` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `DELETE /comments/{id}` (author soft delete → 410) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs **Bookmarks** * [ ] `POST /posts/{id}/bookmark` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `DELETE /posts/{id}/bookmark` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /me/bookmarks` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs **Follow & Notifications** * [ ] `POST /companies/{slug}/follow` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `DELETE /companies/{slug}/follow` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `POST /tags/{name}/follow` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `DELETE /tags/{name}/follow` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /me/notifications` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `PATCH /me/notifications/{id}` (mark read) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs --- ## 11) Privacy & Data Portability * [ ] `POST /me/export` (create export artifact) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs * [ ] `GET /me/export/status` * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs **Non-prod Debug** * [ ] `POST /debug/verify-hash` (developer utility) * [ ] Spec \[ ] Backend \[ ] Tests \[ ] Docs --- ## Progress & Notes * **Progress:** *X / Y endpoints fully DONE* * **Blocking items:** *List blockers here* * **Changelog link:** *Add link when cutting a release* ---
Milestone: API Readiness Tracker (v0.1)
Purpose: Central tracker for API surface. Check items as they’re completed.
Definition of Done (per endpoint):
0) Ops & Probes
GET /healthzGET /readyzGET /versionGET /metrics(Prometheus)GET /db/healthGET /mongo/health1) Auth, Sessions & Identity
POST /auth/nonce(SIWE)POST /auth/verify(SIWE → session/JWT)POST /register(wallet-first)POST /auth/logoutPOST /auth/refreshGET /me/sessionsDELETE /me/sessions/{session_id}zkTLS Employment Verification
POST /verify/employment/startPOST /verify/employment/submitGET /verify/employment/status?company=...2) Users & Profiles
GET /user(me)POST /profile(upsert)GET /profile(public by wallet/id)3) Companies
POST /companies(admin create)PUT /companies/{slug}(admin update)GET /companies/{slug}(public)GET /companies/{slug}/stats(aggregates + cache)POST /companies/{slug}/claim(employer claims page)PUT /admin/companies/{slug}/claim/{id}(approve/reject)4) Reviews (Employee Posts)
POST /post(create review; gating by on-chain verification)GET /posts(global feed; filters + cursor)GET /posts/{id}(single review)GET /companies/{slug}/posts(company feed)DELETE /posts/{id}(author soft delete → 410)PATCH /posts/{id}(limited edit window + audit)GET /posts/{id}/integrity(hash/CID)POST /posts/{id}/response(official employer reply)Drafts
POST /posts/draftsPUT /posts/drafts/{id}DELETE /posts/drafts/{id}POST /posts/drafts/{id}/publishAdmin Moderation
PUT /admin/reviews/{id}/status(state machine)GET /admin/reviews/audit(transitions audit)5) Reporting & Appeals
POST /reports(user flag review/comment)GET /admin/reports?status=...(triage queue)PUT /admin/reports/{id}(resolve)POST /appeals(author/employer appeal moderation)GET /appeals/{id}(view appeal)GET /admin/appeals?status=...PUT /admin/appeals/{id}(decision)6) Tags & Taxonomy
GET /tags(public whitelist)POST /admin/tagsDELETE /admin/tags/{name}GET /admin/tags7) Search, Summaries & Typeahead
GET /search(keyword/trigram; optional semantic blend)GET /companies/{slug}/summary(AI pros/cons/themes; cached)GET /typeahead?q=&scope=companies|tags|all(autocomplete)8) Interview Reviews (Structured)
POST /interviewsGET /interviews/{id}GET /companies/{slug}/interviews9) Salary Reports (Structured)
POST /salariesGET /companies/{slug}/salariesGET /companies/{slug}/salaries/summary10) Engagement (Reactions, Comments, Bookmarks)
Reactions
POST /reactionsDELETE /reactionsGET /posts/{id}/reactions/summaryGET /comments/{id}/reactions/summaryComments (threaded)
POST /posts/{id}/commentsGET /posts/{id}/commentsDELETE /comments/{id}(author soft delete → 410)Bookmarks
POST /posts/{id}/bookmarkDELETE /posts/{id}/bookmarkGET /me/bookmarksFollow & Notifications
POST /companies/{slug}/followDELETE /companies/{slug}/followPOST /tags/{name}/followDELETE /tags/{name}/followGET /me/notificationsPATCH /me/notifications/{id}(mark read)11) Privacy & Data Portability
POST /me/export(create export artifact)GET /me/export/statusNon-prod Debug
POST /debug/verify-hash(developer utility)Progress & Notes