API Reference
Base URL: https://api.stillhere.life
All authenticated endpoints require Authorization: Bearer TOKEN
Quick Start: Automated Check-in
# 1. Generate an API key (one-time, from dashboard or API) curl -X POST https://api.stillhere.life/api/auth/generate-api-key \ -H "Authorization: Bearer YOUR_JWT_TOKEN" # 2. Set up a cron job (e.g., every week) # crontab -e 0 9 * * 1 curl -X POST "https://api.stillhere.life/api/auth/check-in/api-key?api_key=YOUR_API_KEY"
Authentication
/api/auth/registerCreate account with email + password
{"email": "...", "password": "..."}/api/auth/loginLogin and get JWT tokens
{"email": "...", "password": "..."}/api/auth/googleStart Google OAuth flow (redirect)
/api/auth/refreshRefresh expired access token
{"refresh_token": "..."}Check-in (Heartbeat)
/api/auth/check-inauthCheck in (requires Bearer token)
/api/auth/check-in/{token}One-click email check-in (no auth needed)
/api/auth/check-in/api-key?api_key=KEYAPI key check-in (for automation)
/api/auth/generate-api-keyauthGenerate API key for automated check-ins
/api/auth/generate-check-in-tokenauthGenerate one-click check-in URL
User
/api/user/profileauthGet user profile
/api/user/statusauthGet heartbeat status (escalation state, days remaining)
/api/user/settingsauthUpdate check-in interval
{"check_in_interval_days": 14}Beneficiaries
/api/beneficiaries/authList all beneficiaries
/api/beneficiaries/authAdd beneficiary
{"name": "...", "email": "...", "phone": "..."}/api/beneficiaries/{id}authUpdate beneficiary
/api/beneficiaries/{id}authDelete beneficiary
/api/beneficiaries/{id}/notifyauthSend pre-notification (Basic+)
Messages
/api/messages/authList all messages
/api/messages/authCreate encrypted message
{"beneficiary_id": "...", "content_encrypted": "...", "delivery_channels": ["email", "whatsapp"]}/api/messages/{id}authDelete message
Files
/api/files/uploadauthUpload encrypted file attachment (multipart)
/api/files/download/{file_id}Download encrypted file (no auth)
Delivery Log
/api/delivery/logauthFull delivery audit trail
/api/delivery/log/{message_id}authDelivery log for specific message
Payments
/api/payments/create-checkout?tier=proauthStart Stripe checkout
/api/payments/portalauthOpen Stripe billing portal
Full interactive docs at api.stillhere.life/docs