{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/bureau-of-ocean-energy-management/main/json-schema/bureau-of-ocean-energy-management-feature-layer-query-dto-schema.json",
  "title": "FeatureLayerQueryDto",
  "x-generated": "2026-10-20",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/bureau-of-ocean-energy-management-marine-cadastre-hub-search-openapi.yml#/components/schemas/FeatureLayerQueryDto",
  "type": "object",
  "properties": {
    "objectIdFieldName": {
      "type": "string"
    },
    "uniqueIdField": {
      "$ref": "#/$defs/FeatureLayerUniqueIdFieldDto"
    },
    "globalIdFieldName": {
      "type": "string"
    },
    "hasZ": {
      "type": "boolean"
    },
    "hasM": {
      "type": "boolean"
    },
    "spatialReference": {
      "$ref": "#/$defs/SpatialReferenceDto"
    },
    "fields": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/FeatureLayerFieldDto"
      }
    },
    "features": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/FeatureLayerQueryFeatureDto"
      }
    },
    "exceededTransferLimit": {
      "type": "boolean"
    },
    "geometryType": {
      "type": "string"
    }
  },
  "required": [
    "objectIdFieldName",
    "uniqueIdField",
    "globalIdFieldName",
    "hasZ",
    "hasM",
    "spatialReference",
    "fields",
    "features",
    "exceededTransferLimit",
    "geometryType"
  ],
  "$defs": {
    "FeatureLayerFieldDto": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "alias": {
          "type": "string"
        },
        "sqlType": {
          "type": "string"
        },
        "domain": {
          "type": [
            "object",
            "null"
          ]
        },
        "defaultValue": {
          "type": [
            "object",
            "null"
          ]
        },
        "length": {
          "type": "number"
        },
        "editable": {
          "type": "boolean"
        },
        "nullable": {
          "type": "boolean"
        }
      },
      "required": [
        "name",
        "type",
        "alias",
        "sqlType",
        "editable",
        "nullable"
      ]
    },
    "FeatureLayerQueryFeatureDto": {
      "type": "object",
      "properties": {
        "attributes": {
          "type": "object"
        },
        "geometry": {
          "type": [
            "object",
            "null"
          ]
        }
      },
      "required": [
        "attributes"
      ]
    },
    "FeatureLayerUniqueIdFieldDto": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "isSystemMaintained": {
          "type": "boolean"
        }
      },
      "required": [
        "name",
        "isSystemMaintained"
      ]
    },
    "SpatialReferenceDto": {
      "type": "object",
      "properties": {
        "latestVcsWkid": {
          "type": "number"
        },
        "latestWkid": {
          "type": "number"
        },
        "latestWkt": {
          "type": "string"
        },
        "vcsWkid": {
          "type": "number"
        },
        "wkid": {
          "type": "number"
        },
        "wkt": {
          "type": "string"
        }
      }
    }
  }
}