{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://quadruper.invalid/contracts/geoapi-error.v1.schema.json",
  "title": "ErrorBody",
  "description": "Every /v2 error body, from geo-api or from nginx (spec section 3.9).",
  "type": "object",
  "properties": {
    "code": {
      "enum": [
        "invalid_request", "unsupported_profile", "too_many_points", "too_many_cells",
        "unauthorized", "forbidden", "not_found", "payload_too_large", "unsupported_media_type",
        "point_not_snapped", "out_of_coverage", "no_route", "reference_not_found",
        "rate_limited", "internal_error", "capability_unavailable",
        "engine_unavailable", "unavailable", "engine_timeout",
        "trial_exhausted", "trial_unavailable", "data_cap_exceeded"
      ]
    },
    "message": { "type": "string", "minLength": 1 },
    "details": { "type": "object" }
  },
  "required": ["code", "message"],
  "additionalProperties": false
}
