Notifications¶
The notifications service manages push notifications and an inbox system. It handles device token registration (for mobile push via Expo), notification delivery, and persistent inbox items for asynchronous results like deep research.
Quick Reference¶
| Port | 7712 |
| Health endpoint | GET /health |
| Source | jarvis-notifications/ |
| Framework | FastAPI + Uvicorn |
| Database | PostgreSQL |
| Tier | 3 - Specialized |
API Endpoints¶
| Method | Path | Description |
|---|---|---|
GET |
/health |
Health check |
POST |
/api/v0/notifications/send |
Send a push notification |
POST |
/api/v0/device-tokens |
Register a device token (Expo push) |
DELETE |
/api/v0/device-tokens/{token} |
Unregister a device token |
GET |
/api/v0/inbox |
List inbox items for a user |
GET |
/api/v0/inbox/{id} |
Get a specific inbox item |
POST |
/api/v0/inbox |
Create an inbox item |
PATCH |
/api/v0/inbox/{id}/read |
Mark an inbox item as read |
DELETE |
/api/v0/inbox/{id} |
Delete an inbox item |
Push Delivery¶
Push notifications are forwarded to jarvis-notifications-relay, a stateless Expo Push API proxy that handles APNs/FCM delivery. The relay can run locally or in the cloud.
Environment Variables¶
| Variable | Description |
|---|---|
DATABASE_URL |
PostgreSQL connection string |
JARVIS_AUTH_BASE_URL |
Auth service URL |
JARVIS_CONFIG_URL |
Config service URL |
NOTIFICATIONS_RELAY_URL |
URL of the notifications relay service |
Dependencies¶
- PostgreSQL -- device tokens, notification log, inbox items
- jarvis-auth -- app-to-app auth validation
- jarvis-config-service -- service discovery
- jarvis-logs -- structured logging (optional)
- jarvis-notifications-relay -- Expo push delivery (optional)
Dependents¶
- jarvis-command-center -- sends notifications for deep research results and alerts
- jarvis-node-mobile -- reads inbox, manages device tokens
Impact if Down¶
Push notifications are not sent. Inbox items are not created or retrievable. Deep research results have no delivery mechanism. Voice commands and other services continue operating normally.