Skip to content

API Reference

Nid exposes a REST API via Fastify. All routes are prefixed with /api.

Interactive Swagger documentation is available in development at http://localhost:4000/docs.


Authentication

All routes (except /api/auth/config, /api/auth/register, /api/auth/login and OAuth callbacks) require an httpOnly JWT cookie.


Endpoints by module

ModulePrefixDocumentation
Authentication/api/authauth.md
Gmail/api/gmailgmail.md
Archives/api/archivearchive.md
Dashboard/api/dashboarddashboard.md
Rules/api/rulesrules.md
Jobs/api/jobsjobs.md
Notifications/api/notificationsnotifications.md
Webhooks/api/webhookswebhooks.md
Admin/api/adminadmin.md
Audit/api/auditaudit.md
Newsletters/api/unsubscribeunsubscribe.md
Attachments/api/attachmentsattachments.md
Duplicates/api/duplicatesduplicates.md
Reports/api/reportsreports.md
Integrity/api/integrityintegrity.md
Configuration/api/configconfig.md
Privacy/api/privacyprivacy.md
Analytics/api/analyticsanalytics.md
Saved searches/api/saved-searchessaved-searches.md
Unified inbox/api/unifiedunified.md

Health check

GET /health

Returns 200 OK if the service is operational.


Common response codes

CodeMeaning
200Success
201Resource created
202Accepted (async job created)
400Validation error (Zod)
401Not authenticated
403Access denied (role or ownership)
404Resource not found
429Rate limit reached
500Server error