{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/crimescore-io/json-schema/crimescore-io-nearby-incidents-response-schema.json",
  "title": "NearbyIncidentsResponse",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/crimescore-io-openapi.yaml#/components/schemas/NearbyIncidentsResponse",
  "type": "object",
  "required": [
    "capturedAt",
    "center",
    "radius_m",
    "hours",
    "limit",
    "count",
    "scannedCells",
    "incidents"
  ],
  "properties": {
    "capturedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Time this API response was generated"
    },
    "center": {
      "type": "object",
      "required": [
        "lat",
        "lng"
      ],
      "properties": {
        "lat": {
          "type": "number",
          "format": "float"
        },
        "lng": {
          "type": "number",
          "format": "float"
        }
      }
    },
    "radius_m": {
      "type": "integer",
      "description": "Exact radius used for final distance filtering"
    },
    "hours": {
      "type": "integer",
      "description": "Rolling recent-activity window"
    },
    "limit": {
      "type": "integer",
      "description": "Maximum incidents requested"
    },
    "count": {
      "type": "integer",
      "description": "Number of returned incidents"
    },
    "scannedCells": {
      "type": "integer",
      "description": "Number of broad geohash cells queried before exact filtering"
    },
    "incidents": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/RecentIncident"
      }
    }
  },
  "$defs": {
    "RecentIncident": {
      "type": "object",
      "required": [
        "id",
        "label",
        "latitude",
        "longitude",
        "reportedAt",
        "distance_m"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Stable normalized incident identifier"
        },
        "label": {
          "type": "string",
          "description": "Sanitized, generic incident label"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Normalized incident categories"
        },
        "latitude": {
          "type": "number",
          "format": "float"
        },
        "longitude": {
          "type": "number",
          "format": "float"
        },
        "cityCode": {
          "type": "string",
          "description": "Source market or city code when available"
        },
        "reportedAt": {
          "type": "string",
          "format": "date-time"
        },
        "severity": {
          "type": [
            "integer",
            "null"
          ]
        },
        "level": {
          "type": [
            "integer",
            "null"
          ]
        },
        "rank": {
          "type": [
            "integer",
            "null"
          ]
        },
        "distance_m": {
          "type": "integer",
          "description": "Distance from the requested center point in meters"
        }
      }
    }
  }
}