Skip to content

Error handling

Errors use HTTP status codes and a JSON body that usually includes a type (short code) and description (human-readable message). Your integration should log the full body when troubleshooting.

Common situations

HTTP status Typical type (examples) What it usually means for you
400 INVALID_REQUEST Invalid JSON, missing fields, or values out of range (for example bad wb_window or coordinates).
401 NO_AUTH_KEY No Authorization header or empty token.
403 INVALID_AUTH_KEY, ACCOUNT_EXPIRED Token rejected or account access ended.
403 OUT_OF_BOUND_LOCATION The point is outside the geographic area served for flood models in this deployment.
404 NO_SPATIAL_COORDINATES Address endpoint only — the address could not be geocoded to coordinates.
429 TOO_MANY_REQUESTS Slow down; you are sending requests too quickly.
429 QUOTA_REACHED Contract quota exceeded; contact Geosapiens.
500 INTERNAL_SERVER_ERROR, NO_DATA Server or data issue; retry later and contact support if it persists.

Exact type strings may match your environment’s release; always use statusCode and description for user messaging if you need a stable text.

Example error body

{
  "uuid": "739cf562-1016-4275-aafd-42f9e5102fa3",
  "timeStamp": "2023-8-11 14:51:55 UTC",
  "statusCode": 401,
  "status": "Unauthorized",
  "type": "NO_AUTH_KEY",
  "description": "An authorization token is required to access this resource."
}

Some errors also return a details object with per-field information. For the Essential API, those details refer to the seven score fields when applicable.