Ingest — Overland

Overland publishes a GeoJSON-style FeatureCollection over HTTPS POST.

Endpoint

POST https://app.whereistereza.com/o/{your-org-slug}/api/t/overland?token={token}
Content-Type: application/json

Payload

{
  "locations": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [-1.6402, 42.7551]
      },
      "properties": {
        "timestamp": "2026-04-25T08:00:00Z",
        "altitude":  430,
        "speed":     1.4,
        "horizontal_accuracy": 8,
        "vertical_accuracy":   3,
        "battery_state": "unplugged",
        "battery_level": 0.72,
        "wifi": "..."
      }
    }
  ]
}

The locations array can contain one or many features; Overland batches them up to 100 per POST when buffered.

Property Type Required Notes
timestamp string yes ISO 8601
altitude float no Metres above sea level
speed float no Metres per second
horizontal_accuracy float no Metres
battery_level float no 0–1

coordinates is [longitude, latitude] per the GeoJSON spec — note the order.

Example

curl -X POST \
  "https://app.whereistereza.com/o/yourname/api/t/overland?token=abc123secret" \
  -H "Content-Type: application/json" \
  -d '{
    "locations": [{
      "type": "Feature",
      "geometry": { "type": "Point", "coordinates": [-1.6402, 42.7551] },
      "properties": { "timestamp": "2026-04-25T08:00:00Z", "altitude": 430 }
    }]
  }'

Response:

{ "result": "ok" }

(Overland clients expect {"result":"ok"} rather than {"status":"ok"}; we return whichever matches the source.)

Errors

  • 400 Bad Request — invalid GeoJSON or missing timestamp.
  • 401 Unauthorized — token mismatch.
  • 429 Too Many Requests — over rate limit.

Need help? Contact support · Where Is Tereza?