API Reference
Every EOSYN Atlas endpoint, parameter, and error code. All requests use HTTPS + Bearer auth.
/v1/riskReturn a confidence-scored risk assessment for a location and peril.
Parameters
| Name | Type | Description |
|---|---|---|
lat | number | Latitude in decimal degrees. |
lng | number | Longitude in decimal degrees. |
peril | string | One of: flood, subsidence, wildfire, storm. |
Request
curl "https://api.eosynspace.com/v1/risk?lat=51.5074&lng=-0.1278&peril=flood" \
-H "Authorization: Bearer $EOSYN_API_KEY"Response
{
"risk_score": 0.72,
"confidence": 0.942,
"model_version": "flood-v2.3.1"
}/v1/risk/batchReturn risk assessments for up to 1,000 locations per request.
Parameters
| Name | Type | Description |
|---|---|---|
locations | array | Array of {lat,lng,peril} objects. |
Request
curl -X POST https://api.eosynspace.com/v1/risk/batch \
-H "Authorization: Bearer $EOSYN_API_KEY" \
-d '{"locations":[{"lat":51.5,"lng":-0.1,"peril":"flood"}]}'Response
{ "results": [ { "risk_score": 0.72, "confidence": 0.942 } ] }/v1/changesList detected changes within an area of interest.
Parameters
| Name | Type | Description |
|---|---|---|
aoi_id | string | Area of interest identifier. |
since | string | ISO-8601 timestamp filter. |
Request
curl "https://api.eosynspace.com/v1/changes?aoi_id=aoi_42" \
-H "Authorization: Bearer $EOSYN_API_KEY"Response
{ "changes": [ { "id": "chg_1", "type": "vegetation_loss", "confidence": 0.91 } ] }/v1/changes/{id}Retrieve a single change event with full provenance.
Parameters
| Name | Type | Description |
|---|---|---|
id | string | Change event id. |
Request
curl "https://api.eosynspace.com/v1/changes/chg_1" \
-H "Authorization: Bearer $EOSYN_API_KEY"Response
{ "id": "chg_1", "type": "vegetation_loss", "detected_at": "2026-07-01" }/v1/anomaliesList anomalies across your subscribed feeds.
Parameters
| Name | Type | Description |
|---|---|---|
since | string | ISO-8601 timestamp filter. |
Request
curl "https://api.eosynspace.com/v1/anomalies" -H "Authorization: Bearer $EOSYN_API_KEY"Response
{ "anomalies": [ { "id": "an_1", "severity": "high" } ] }/v1/anomalies/subscribeSubscribe to anomaly alerts for an AOI + peril combination.
Parameters
| Name | Type | Description |
|---|---|---|
aoi_id | string | Area of interest. |
perils | array | Perils to watch. |
Request
curl -X POST https://api.eosynspace.com/v1/anomalies/subscribe \
-H "Authorization: Bearer $EOSYN_API_KEY" \
-d '{"aoi_id":"aoi_42","perils":["flood"]}'Response
{ "subscription_id": "sub_9", "status": "active" }/v1/historicalReturn historical time-series for a location and metric.
Parameters
| Name | Type | Description |
|---|---|---|
lat | number | Latitude. |
lng | number | Longitude. |
metric | string | Metric key (e.g. ndvi, moisture). |
from | string | ISO-8601 start date. |
to | string | ISO-8601 end date. |
Request
curl "https://api.eosynspace.com/v1/historical?lat=51.5&lng=-0.1&metric=ndvi&from=2020-01-01&to=2026-01-01" \
-H "Authorization: Bearer $EOSYN_API_KEY"Response
{ "series": [ { "t": "2020-01-01", "v": 0.42 } ] }/v1/webhooksRegister a webhook endpoint for real-time events.
Parameters
| Name | Type | Description |
|---|---|---|
url | string | HTTPS callback URL. |
events | array | Event types to subscribe to. |
Request
curl -X POST https://api.eosynspace.com/v1/webhooks \
-H "Authorization: Bearer $EOSYN_API_KEY" \
-d '{"url":"https://your.app/hook","events":["risk.threshold_exceeded"]}'Response
{ "id": "wh_1", "secret": "whsec_..." }Error Codes
| Status | Code | Meaning |
|---|---|---|
400 | bad_request | Malformed request or missing required parameter. |
401 | unauthorized | Missing or invalid API key. |
403 | forbidden | API key lacks scope for this resource. |
404 | not_found | Resource does not exist. |
429 | rate_limited | Rate limit exceeded. See Retry-After header. |
500 | server_error | Unexpected server error. Retry with backoff. |