{
  "$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-server-dto-schema.json",
  "title": "FeatureServerDto",
  "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/FeatureServerDto",
  "type": "object",
  "properties": {
    "currentVersion": {
      "type": "number"
    },
    "serviceDescription": {
      "type": "string"
    },
    "hasVersionedData": {
      "type": "boolean"
    },
    "supportsDisconnectedEditing": {
      "type": "boolean"
    },
    "hasStaticData": {
      "type": "boolean"
    },
    "hasSharedDomains": {
      "type": "boolean"
    },
    "maxRecordCount": {
      "type": "number"
    },
    "supportedQueryFormats": {
      "type": "string"
    },
    "supportsVCSProjection": {
      "type": "boolean"
    },
    "supportedExportFormats": {
      "type": "string"
    },
    "capabilities": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "copyrightText": {
      "type": "string"
    },
    "spatialReference": {
      "$ref": "#/$defs/SpatialReferenceDto"
    },
    "fullExtent": {
      "$ref": "#/$defs/FeatureServerExtentDto"
    },
    "initialExtent": {
      "$ref": "#/$defs/FeatureServerExtentDto"
    },
    "allowGeometryUpdates": {
      "type": "boolean"
    },
    "units": {
      "type": "string"
    },
    "supportsAppend": {
      "type": "boolean"
    },
    "supportsSharedDomains": {
      "type": "boolean"
    },
    "supportsWebHooks": {
      "type": "boolean"
    },
    "supportsTemporalLayers": {
      "type": "boolean"
    },
    "layerOverridesEnabled": {
      "type": "boolean"
    },
    "syncEnabled": {
      "type": "boolean"
    },
    "supportsApplyEditsWithGlobalIds": {
      "type": "boolean"
    },
    "supportsReturnDeleteResults": {
      "type": "boolean"
    },
    "supportsLayerOverrides": {
      "type": "boolean"
    },
    "supportsTilesAndBasicQueriesMode": {
      "type": "boolean"
    },
    "supportsQueryContingentValues": {
      "type": "boolean"
    },
    "supportedContingentValuesFormats": {
      "type": "string"
    },
    "supportsContingentValuesJson": {
      "type": [
        "object",
        "null"
      ]
    },
    "tables": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/FeatureInfoDto"
      }
    },
    "layers": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/FeatureInfoDto"
      }
    },
    "relationships": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "supportsRelationshipsResource": {
      "type": "boolean"
    }
  },
  "required": [
    "currentVersion",
    "serviceDescription",
    "hasVersionedData",
    "supportsDisconnectedEditing",
    "hasStaticData",
    "hasSharedDomains",
    "maxRecordCount",
    "supportedQueryFormats",
    "supportsVCSProjection",
    "supportedExportFormats",
    "capabilities",
    "description",
    "copyrightText",
    "spatialReference",
    "fullExtent",
    "initialExtent",
    "allowGeometryUpdates",
    "units",
    "supportsAppend",
    "supportsSharedDomains",
    "supportsWebHooks",
    "supportsTemporalLayers",
    "layerOverridesEnabled",
    "syncEnabled",
    "supportsApplyEditsWithGlobalIds",
    "supportsReturnDeleteResults",
    "supportsLayerOverrides",
    "supportsTilesAndBasicQueriesMode",
    "supportsQueryContingentValues",
    "supportedContingentValuesFormats",
    "tables",
    "layers",
    "relationships",
    "supportsRelationshipsResource"
  ],
  "$defs": {
    "FeatureInfoDto": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "parentLayerId": {
          "type": "number"
        },
        "defaultVisibility": {
          "type": "boolean"
        },
        "subLayerIds": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": "number"
          }
        },
        "minScale": {
          "type": "number"
        },
        "maxScale": {
          "type": "number"
        },
        "geometryType": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "type",
        "parentLayerId",
        "defaultVisibility",
        "minScale",
        "maxScale",
        "geometryType"
      ]
    },
    "FeatureServerExtentDto": {
      "type": "object",
      "properties": {
        "spatialReference": {
          "description": "Spatial reference for the extent",
          "allOf": [
            {
              "$ref": "#/$defs/SpatialReferenceDto"
            }
          ]
        },
        "xmin": {
          "type": "number"
        },
        "xmax": {
          "type": "number"
        },
        "ymin": {
          "type": "number"
        },
        "ymax": {
          "type": "number"
        }
      },
      "required": [
        "spatialReference",
        "xmin",
        "xmax",
        "ymin",
        "ymax"
      ]
    },
    "SpatialReferenceDto": {
      "type": "object",
      "properties": {
        "latestVcsWkid": {
          "type": "number"
        },
        "latestWkid": {
          "type": "number"
        },
        "latestWkt": {
          "type": "string"
        },
        "vcsWkid": {
          "type": "number"
        },
        "wkid": {
          "type": "number"
        },
        "wkt": {
          "type": "string"
        }
      }
    }
  }
}