API Docs
Send SMS from any app with a Bearer API key.
Authentication
Create a key in the portal, then send Authorization: Bearer eg_…
Send SMS
curl -X POST http://localhost:1084/api/v1/messages \
-H "Authorization: Bearer eg_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"to":"+15551234567","body":"Hello from Eligapris"}'List messages
curl http://localhost:1084/api/v1/messages \ -H "Authorization: Bearer eg_YOUR_KEY"
List devices
curl http://localhost:1084/api/v1/devices \ -H "Authorization: Bearer eg_YOUR_KEY"
Remote command
curl -X POST http://localhost:1084/api/v1/devices/DEVICE_ID/commands \
-H "Authorization: Bearer eg_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"type":"ring"}'Locate / volume / power tools
# Find Hub–style locate (requires location grant on phone)
curl ... -d '{"type":"get_location"}'
# Max ring/notification/alarm volume
curl ... -d '{"type":"set_volume","payload":{"level":100,"stream":"ring"}}'
curl ... -d '{"type":"flashlight","payload":{"on":true}}'
curl ... -d '{"type":"set_clipboard","payload":{"text":"paste me"}}'
curl ... -d '{"type":"open_url","payload":{"url":"https://example.com"}}'
curl ... -d '{"type":"call_back","payload":{"to":"+15551234567"}}'
# Multi-SIM SMS (optional subscriptionId)
curl -X POST http://localhost:1084/api/v1/messages \
-H "Authorization: Bearer eg_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"to":"+15551234567","body":"Hi","subscriptionId":1}'Grants: location for get_location; remote_commands for volume / flashlight / clipboard / open_url / call_back. Flashlight needs CAMERA OS permission; call_back prefers CALL_PHONE (falls back to dialer).
Photo (front / back)
curl -X POST http://localhost:1084/api/v1/devices/DEVICE_ID/commands \
-H "Authorization: Bearer eg_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"type":"take_photo","payload":{"camera":"front"}}'Video
curl -X POST http://localhost:1084/api/v1/devices/DEVICE_ID/commands \
-H "Authorization: Bearer eg_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"type":"start_video","payload":{"camera":"back","maxSeconds":300,"chunkSeconds":60,"withAudio":true}}'
# later:
curl ... -d '{"type":"stop_video"}'Audio (Opus / Ogg)
curl ... -d '{"type":"start_audio","payload":{"maxSeconds":300,"chunkSeconds":60}}'
curl ... -d '{"type":"stop_audio"}'Sessions default to 5 minutes and upload in time chunks (default 60s) instead of one hard cut. Caps: maxSeconds 60–900, chunkSeconds 30–180.
Android pairing
- Portal → Devices → Generate code
- Android app → Pair → enter 6-digit code + API base URL
- Enable SMS / camera / mic / remote / location grants on the phone
- Start Gateway service (Home toggle)