Solra Solra

Solra Developer API

Integrate the Solra safety network into your own app, wearable, or rideshare service. Query safety scores, trigger emergencies, and track walks through our v1 REST API.

Getting started

Every request is authenticated with an API key you create inside the Solra app under Settings → Developer → API Access. Keys begin with sk_live_ and are shown once — store them securely.

Every request must include your key in the X-API-Key header:

curl https://solra-backend-production.up.railway.app/v1/safety/score \
  -H "X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -G --data-urlencode "lat=30.0444" --data-urlencode "lng=31.2357"
Base URL: https://solra-backend-production.up.railway.app/v1

Permissions

Each API key carries one or more scopes. When creating a key, pick only the scopes you need:

Endpoints

Safety

GET /v1/safety/score?lat=…&lng=… Get a 0–100 safety score for a coordinate, including nearby incident counts.
GET /v1/safety/safe-route?fromLat=…&fromLng=…&toLat=…&toLng=… Score a proposed route and surface risky segments.
GET /v1/safety/heatmap?bbox=… Aggregated incident heatmap within a bounding box.

Emergency

POST /v1/emergency/trigger Trigger an emergency on behalf of the key owner. Body: { lat, lng, type, source }.
GET /v1/emergency/:id Fetch status of a previously-triggered emergency.
POST /v1/network/sos Cross-app SOS broadcast to the Solra responder network.
GET /v1/network/responders?lat=…&lng=… Count of responders available within range of a coordinate.

Walks

POST /v1/walk/start Start a walk tracking session. Body: { startLat, startLng, destLat, destLng, expectedArrivalISO }.
GET /v1/walk/:id/status Poll walk progress and check-in state.

Webhooks

Register a webhook from your cross-app panel in-app. We'll POST signed JSON to your endpoint on emergency lifecycle events (created, accepted, resolved).

POST https://your-app.example.com/solra-webhook
x-solra-signature: sha256=<hmac(secret, body)>

{
  "event": "emergency.created",
  "emergencyId": "evt_abc123",
  "userId": "usr_xyz",
  "lat": 30.0444,
  "lng": 31.2357,
  "type": "SOS",
  "createdAt": "2026-04-23T06:15:00Z"
}

Rate limits

API keys are rate limited per key, with the default shown on your key detail screen. Exceeding the limit returns 429 Too Many Requests. Contact api@solraapp.net to request a higher limit.

Errors

Errors come back as JSON with a success: false flag and a human-readable error field.

{
  "success": false,
  "error": "Permission 'emergency.trigger' is not enabled on this key"
}

Support

Need help integrating? Email api@solraapp.net or open a support ticket inside the Solra app under Settings → Help & FAQ.

← Back to Solra