{
  "$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-dto-schema.json",
  "title": "FeatureLayerDto",
  "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/FeatureLayerDto",
  "type": "object",
  "properties": {
    "currentVersion": {
      "type": "number"
    },
    "id": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "displayField": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "copyrightText": {
      "type": "string"
    },
    "defaultVisibility": {
      "type": "boolean"
    },
    "isDataVersioned": {
      "type": "boolean"
    },
    "hasContingentValuesDefinition": {
      "type": "boolean"
    },
    "supportsAppend": {
      "type": "boolean"
    },
    "supportsCalculate": {
      "type": "boolean"
    },
    "supportsASyncCalculate": {
      "type": "boolean"
    },
    "supportsTruncate": {
      "type": "boolean"
    },
    "supportsAttachmentsByUploadId": {
      "type": "boolean"
    },
    "supportsAttachmentsResizing": {
      "type": "boolean"
    },
    "supportsRollbackOnFailureParameter": {
      "type": "boolean"
    },
    "supportsStatistics": {
      "type": "boolean"
    },
    "supportsExceedsLimitStatistics": {
      "type": "boolean"
    },
    "supportsAdvancedQueries": {
      "type": "boolean"
    },
    "supportsValidateSql": {
      "type": "boolean"
    },
    "supportsLayerOverrides": {
      "type": "boolean"
    },
    "supportsTilesAndBasicQueriesMode": {
      "type": "boolean"
    },
    "supportsFieldDescriptionProperty": {
      "type": "boolean"
    },
    "supportsQuantizationEditMode": {
      "type": "boolean"
    },
    "supportsApplyEditsWithGlobalIds": {
      "type": "boolean"
    },
    "supportsReturningQueryGeometry": {
      "type": "boolean"
    },
    "supportedPbfFeatureEncodings": {
      "type": "string"
    },
    "advancedQueryCapabilities": {
      "$ref": "#/$defs/FeatureLayerAdvancedQueryCapabilitiesDto"
    },
    "useStandardizedQueries": {
      "type": "boolean"
    },
    "allowGeometryUpdates": {
      "type": "boolean"
    },
    "hasAttachments": {
      "type": "boolean"
    },
    "htmlPopupType": {
      "type": "string"
    },
    "hasM": {
      "type": "boolean"
    },
    "hasZ": {
      "type": "boolean"
    },
    "objectIdField": {
      "type": "string"
    },
    "uniqueIdField": {
      "$ref": "#/$defs/FeatureLayerUniqueIdFieldDto"
    },
    "globalIdField": {
      "type": "string"
    },
    "typeIdField": {
      "type": "string"
    },
    "dateFieldsTimeReference": {
      "$ref": "#/$defs/FeatureLayerDateFieldsTimeReferenceDto"
    },
    "preferredTimeReference": {
      "type": [
        "object",
        "null"
      ]
    },
    "templates": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "supportedQueryFormats": {
      "type": "string"
    },
    "supportedAppendFormats": {
      "type": "string"
    },
    "supportedExportFormats": {
      "type": "string"
    },
    "supportedSpatialRelationships": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "supportedContingentValuesFormats": {
      "type": "string"
    },
    "hasStaticData": {
      "type": "boolean"
    },
    "maxRecordCount": {
      "type": "number"
    },
    "standardMaxRecordCount": {
      "type": "number"
    },
    "standardMaxRecordCountNoGeometry": {
      "type": "number"
    },
    "tileMaxRecordCount": {
      "type": "number"
    },
    "maxRecordCountFactor": {
      "type": "number"
    },
    "fields": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/FeatureLayerFieldDto"
      }
    },
    "relationships": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "indexes": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/FeatureLayerIndexDto"
      }
    },
    "capabilities": {
      "type": "string"
    },
    "ownershipBasedAccessControlForFeatures": {
      "$ref": "#/$defs/FeatureLayerOwnershipBasedAccessControlForFeaturesDto"
    },
    "types": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "timeInfo": {
      "type": "object"
    },
    "minScale": {
      "type": "number"
    },
    "maxScale": {
      "type": "number"
    },
    "drawingInfo": {
      "$ref": "#/$defs/FeatureLayerDrawingInfoDto"
    },
    "extent": {
      "$ref": "#/$defs/FeatureServerExtentDto"
    },
    "supportsCoordinatesQuantization": {
      "type": "boolean"
    },
    "hasLabels": {
      "type": "boolean"
    },
    "geometryType": {
      "type": "string"
    }
  },
  "required": [
    "currentVersion",
    "id",
    "name",
    "type",
    "displayField",
    "description",
    "copyrightText",
    "defaultVisibility",
    "isDataVersioned",
    "hasContingentValuesDefinition",
    "supportsAppend",
    "supportsCalculate",
    "supportsASyncCalculate",
    "supportsTruncate",
    "supportsAttachmentsByUploadId",
    "supportsAttachmentsResizing",
    "supportsRollbackOnFailureParameter",
    "supportsStatistics",
    "supportsExceedsLimitStatistics",
    "supportsAdvancedQueries",
    "supportsValidateSql",
    "supportsLayerOverrides",
    "supportsTilesAndBasicQueriesMode",
    "supportsFieldDescriptionProperty",
    "supportsQuantizationEditMode",
    "supportsApplyEditsWithGlobalIds",
    "supportsReturningQueryGeometry",
    "supportedPbfFeatureEncodings",
    "advancedQueryCapabilities",
    "useStandardizedQueries",
    "allowGeometryUpdates",
    "hasAttachments",
    "htmlPopupType",
    "hasM",
    "hasZ",
    "objectIdField",
    "uniqueIdField",
    "globalIdField",
    "typeIdField",
    "dateFieldsTimeReference",
    "templates",
    "supportedQueryFormats",
    "supportedAppendFormats",
    "supportedExportFormats",
    "supportedSpatialRelationships",
    "supportedContingentValuesFormats",
    "hasStaticData",
    "maxRecordCount",
    "standardMaxRecordCount",
    "standardMaxRecordCountNoGeometry",
    "tileMaxRecordCount",
    "maxRecordCountFactor",
    "fields",
    "relationships",
    "indexes",
    "capabilities",
    "ownershipBasedAccessControlForFeatures",
    "types",
    "timeInfo",
    "minScale",
    "maxScale",
    "drawingInfo",
    "extent",
    "supportsCoordinatesQuantization",
    "hasLabels",
    "geometryType"
  ],
  "$defs": {
    "FeatureLayerAdvancedQueryCapabilitiesDto": {
      "type": "object",
      "properties": {
        "supportsPagination": {
          "type": "boolean"
        },
        "supportsQueryAttachmentsCountOnly": {
          "type": "boolean"
        },
        "supportsPaginationOnAggregatedQueries": {
          "type": "boolean"
        },
        "supportsQueryRelatedPagination": {
          "type": "boolean"
        },
        "supportsQueryWithDistance": {
          "type": "boolean"
        },
        "supportsReturningQueryExtent": {
          "type": "boolean"
        },
        "supportsStatistics": {
          "type": "boolean"
        },
        "supportsOrderBy": {
          "type": "boolean"
        },
        "supportsDistinct": {
          "type": "boolean"
        },
        "supportsQueryWithResultType": {
          "type": "boolean"
        },
        "supportsSqlExpression": {
          "type": "boolean"
        },
        "supportsAdvancedQueryRelated": {
          "type": "boolean"
        },
        "supportsCountDistinct": {
          "type": "boolean"
        },
        "supportsPercentileStatistics": {
          "type": "boolean"
        },
        "supportedSpatialAggregationStatistics": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "supportsLod": {
          "type": "boolean"
        },
        "supportsQueryWithLodSR": {
          "type": "boolean"
        },
        "supportedLodTypes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "supportsReturningGeometryCentroid": {
          "type": "boolean"
        },
        "supportsReturningGeometryEnvelope": {
          "type": "boolean"
        },
        "supportsQueryWithDatumTransformation": {
          "type": "boolean"
        },
        "supportsCurrentUserQueries": {
          "type": "boolean"
        },
        "supportsHavingClause": {
          "type": "boolean"
        },
        "supportsOutFieldSQLExpression": {
          "type": "boolean"
        },
        "supportsMaxRecordCountFactor": {
          "type": "boolean"
        },
        "supportsTopFeaturesQuery": {
          "type": "boolean"
        },
        "supportsDisjointSpatialRel": {
          "type": "boolean"
        },
        "supportsQueryWithCacheHint": {
          "type": "boolean"
        },
        "supportedOperationsWithCacheHint": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "supportsQueryAnalytic": {
          "type": "boolean"
        },
        "supportsDefaultSR": {
          "type": "boolean"
        },
        "supportsFullTextSearch": {
          "type": "boolean"
        },
        "advancedQueryAnalyticCapabilities": {
          "type": "object"
        },
        "advancedEditingCapabilities": {
          "type": "object"
        }
      },
      "required": [
        "supportsPagination",
        "supportsQueryAttachmentsCountOnly",
        "supportsPaginationOnAggregatedQueries",
        "supportsQueryRelatedPagination",
        "supportsQueryWithDistance",
        "supportsReturningQueryExtent",
        "supportsStatistics",
        "supportsOrderBy",
        "supportsDistinct",
        "supportsQueryWithResultType",
        "supportsSqlExpression",
        "supportsAdvancedQueryRelated",
        "supportsCountDistinct",
        "supportsPercentileStatistics",
        "supportedSpatialAggregationStatistics",
        "supportsLod",
        "supportsQueryWithLodSR",
        "supportedLodTypes",
        "supportsReturningGeometryCentroid",
        "supportsReturningGeometryEnvelope",
        "supportsQueryWithDatumTransformation",
        "supportsCurrentUserQueries",
        "supportsHavingClause",
        "supportsOutFieldSQLExpression",
        "supportsMaxRecordCountFactor",
        "supportsTopFeaturesQuery",
        "supportsDisjointSpatialRel",
        "supportsQueryWithCacheHint",
        "supportedOperationsWithCacheHint",
        "supportsQueryAnalytic",
        "supportsDefaultSR",
        "supportsFullTextSearch",
        "advancedQueryAnalyticCapabilities",
        "advancedEditingCapabilities"
      ]
    },
    "FeatureLayerDateFieldsTimeReferenceDto": {
      "type": "object",
      "properties": {
        "timeZone": {
          "type": "string"
        },
        "respectsDaylightSaving": {
          "type": "boolean"
        }
      },
      "required": [
        "timeZone",
        "respectsDaylightSaving"
      ]
    },
    "FeatureLayerDrawingInfoDto": {
      "type": "object",
      "properties": {
        "renderer": {
          "$ref": "#/$defs/FeatureLayerRendererDto"
        },
        "labelingInfo": {
          "type": [
            "object",
            "null"
          ]
        }
      },
      "required": [
        "renderer"
      ]
    },
    "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"
      ]
    },
    "FeatureLayerIndexDto": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "fields": {
          "type": "string"
        },
        "isAscending": {
          "type": "boolean"
        },
        "isUnique": {
          "type": "boolean"
        },
        "description": {
          "type": "string"
        },
        "indexType": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "fields",
        "isAscending",
        "isUnique",
        "description",
        "indexType"
      ]
    },
    "FeatureLayerOwnershipBasedAccessControlForFeaturesDto": {
      "type": "object",
      "properties": {
        "allowOthersToQuery": {
          "type": "boolean"
        }
      },
      "required": [
        "allowOthersToQuery"
      ]
    },
    "FeatureLayerRendererDto": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "symbol": {
          "$ref": "#/$defs/FeatureLayerSymbolDto"
        }
      },
      "required": [
        "type",
        "symbol"
      ]
    },
    "FeatureLayerSymbolDto": {
      "type": "object",
      "properties": {
        "color": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "outline": {
          "$ref": "#/$defs/FeatureLayerSymbolOutlineDto"
        },
        "type": {
          "type": "string"
        },
        "style": {
          "type": "string"
        }
      },
      "required": [
        "color",
        "outline",
        "type",
        "style"
      ]
    },
    "FeatureLayerSymbolOutlineDto": {
      "type": "object",
      "properties": {
        "color": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "width": {
          "type": "number"
        },
        "type": {
          "type": "string"
        },
        "style": {
          "type": "string"
        }
      },
      "required": [
        "color",
        "width",
        "type",
        "style"
      ]
    },
    "FeatureLayerUniqueIdFieldDto": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "isSystemMaintained": {
          "type": "boolean"
        }
      },
      "required": [
        "name",
        "isSystemMaintained"
      ]
    },
    "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"
        }
      }
    }
  }
}