Layer (Feature Service)

Description

The layer resource represents a single feature layer or a non-spatial table in a feature service. A feature layer is a table or view with at least one spatial column.

For tables, it provides basic information about the table such as its ID, name, fields, types, and templates. For feature layers, in addition to the table information, it provides information such as its geometry type, min and max scales, and spatial reference. Each type includes information about the type, such as the type ID, name, and definition expression. Types also include a default symbol and a list of feature templates. Each feature template includes a template name, description, and prototypical feature.

The property capabilities return Query, Create, Delete, Update, Editing, Sync, Uploads and Extract capabilities. The Editing capability will be included if Create, Delete, or Update is enabled for a feature service.

The maxRecordCount property returns the maximum number of records that will be returned at once for a query.

The Layer resource returns relatedTableId, cardinality, role, keyField, and composite for all relationships. In addition, the relationshiptableId and keyFieldInRelationshipTable properties are returned for attributed relationships only.

The effectiveMinScale and effectiveMaxScale properties represent the effective minimum and maximum scales at which the layer is visible. Effective minimum and maximum scale are calculated based on the minScale and maxScale values of the current layer and its ancestors.

The Layer resource supports an input parameter returnUpdates that accepts a Boolean value. Pass this parameter to retrieve updated timeExtent for the layer.

The field property nullable indicates whether the field can accept null values.

If a layer has attachments, its hasAttachments property will be true.

If the layer objectIdField does not have a length property or the length property is set to 4, the objectIdField is 32-bit. If the objectIdField has a length of 8, the objectIdField is 64-bit.

The geometryField property describes settings of the geometry field itself and includes the name, nullable, and editable sub-properties. Other sub-properties such as modelName may or may not be provided. It is possible to have a geometry field that is not editable. For features in layers where editable = false, the geometry values are system maintained and cannot be edited directly even by the data owner or administrator (e.g. utility network dirty area layers). This is different from the allowGeometryUpdates property, which allows the service owner or administrator to control whether or not non-owner/non-administrator users can make geometry updates. Owners or administrators can make geometry updates even when allowGeometryUpdates is false as long as the geometry field is editable.

The supportsSQLExpression property is true when a layer supports the ability to use SQL expressions within outStatistics, groupBy, or orderBy. When using SQL expressions on a feature layer, you can configure your outStatistics parameter like this: [{"statisticType":"AVG","onStatisticField":"str_angle*100","outStatisticFieldName":"avg"}]. The supportsOutFieldSqlExpression property is true when a layer supports SQL expressions in the outFields. An example of using SQL expressions in outFields can be casting aliases: outFields = County as CountyAlias, Elevation as ElevationAlias.

NoteNote:

supportsOutFieldSqlExpression is currently only supported in ArcGIS Online.

The following is new at 10.8:

The following is new in 10.7.1:

The following is new in 10.7:

The following is new in 10.6.1:

The following is new in 10.6:

The following is new in 10.5:

The following properties describe features that have been added to the Feature Service through the releases prior to 10.5. If the property does not exist, it's equivalent to having a value of false or not set.

NoteNote:
A unique index is also required on the globalid column in order for supportsApplyEditsWithGlobalIds to be true. Globalid columns may not already have a unique index. You can use the add attribute index geoprocessing tool to create a new unique index on the globalid column in ArcGIS Pro and ArcGIS desktop. You can also remove the non-unique index using the remove attribute index geoprocessing tool. For services that support it, the AddtoDefinition operation from the services admin API can also be used to add the index.

SqlType

FieldType

Result database column type

Not specified

esriFieldTypeOID

[int]

sqlTypeBigInt

esriFieldTypeOID

[bigint] - not currently supported

sqlTypeBigInt

esriFieldTypeInteger

[bigint]

sqlTypeInteger

esriFieldTypeInteger

[int]

sqlTypeBit

esriFieldTypeSmallInteger

[bit]

sqlTypeTinyInt

esriFieldTypeSmallInteger

[tinyint]

sqlTypeInteger

esriFieldTypeSmallInteger

[smallint]

NA

esriFieldTypeDate

columnSize = 4 [smalldatatime]

NA

esriFieldTypeDate

columnSize = 10 [datetimeoffset]

NA

esriFieldTypeDate

columnSize = 8 or none [datetime2]

sqlTypeTime

esriFieldTypeString

[time]

sqlTypeTimestamp

esriFieldTypeString

[timestamp]

none

esriFieldTypeString

nvarchar

Request parameters

Parameter

Details

f

The response format. The default response format is html.

Values: html | json | pjson

returnUpdates

This parameter was added at 10.1.

If value is true, an updated time extent is returned. If the layer is not time-aware, an empty response is returned.

Values: true | false

returnDomainNames

This parameter was added at 10.5.

If value is true, then domain information provided in the layer includes only the domain name. To get the full domain information, use the queryDomains operation in the service resource. This domains included in the layer can be used to linked to the full domain information via the domain name. If the value is false or not set, then full domain information is included in the layer as it was in past releases.

Values: true | false

Example usage

Below is a sample request URL for a feature layer:

https://machine.domain.com/webadaptor/rest/services/USA/FeatureServer/0?f=json

JSON Response syntax

{
  "currentVersion": <currentVersion>, //Added at 10.0 SP1
  //properties applicable to both feature layers and tables
  "id": <layerOrTableId>,
  "name": "<layerOrTableName>",
  "type": "<layerOrTableType>", //"Feature Layer" or "Table"
  "parentLayer": <parentLayerID>, //Added at 10.6
  "displayField": "<field name>"
  "description": "<description>",
  "copyrightText": "<copyrightText>",
  "subtypeField": "<subtypeField>",	//Added at 10.5
  "defaultSubtypeCode": <defaultSubtypeCode>, //Added at 10.5
  "defaultVisibility": <true | false>, //Added at 10.1
  //Added at 10.1
  "editFieldsInfo": {
    "creationDateField": "<creationDateField>",
    "creatorField": "<creatorField>",
    "editDateField": "<editDateField>",
    "editorField": "<editorField>",
    "realm":"<realm>",
    //Added at 10.7
    "dateFieldsTimeReference": {
      "timeZone": "<timeZone>",
      "respectsDaylightSaving": <true | false>
    }
  },
  //Added at 10.1
  "ownershipBasedAccessControlForFeatures": {
    "allowOthersToUpdate": <true | false>,
    "allowOthersToDelete": <true | false>,
    "allowOthersToQuery": <true | false>
  },
  //Added at 10.1
  "syncCanReturnChanges": <true | false>,
  "relationships": [
    {
      "id": <relationshipId1>,
      "name": "<relationshipName1>",
      "relatedTableId": <relatedTableId1>,
      "cardinality": "<esriRelCardinalityOneToOne>|<esriRelCardinalityOneToMany>|<esriRelCardinalityManyToMany>",//Added at 10.1
      "role": "<esriRelRoleOrigin>|<esriRelRoleDestination>",//Added at 10.1
      "keyField": "<keyFieldName2>",//Added at 10.1
      "composite": <true>|<false>,//Added at 10.1
      "relationshipTableId": <attributedRelationshipClassTableId>,  //Added in 10.1. Returned only for attributed relationships
      "keyFieldInRelationshipTable": "<key field in AttributedRelationshipClass table that matches keyField>" //Added in 10.1. Returned only for attributed relationships
    },
    {
      "id": <relationshipId2>,
      "name": "<relationshipName2>",
      "relatedTableId": <relatedTableId2>,
      "cardinality": "<esriRelCardinalityOneToOne>|<esriRelCardinalityOneToMany>|<esriRelCardinalityManyToMany>",//Added at 10.1
      "role": "<esriRelRoleOrigin>|<esriRelRoleDestination>",//Added at 10.1
      "keyField": "<keyFieldName2>",//Added at 10.1
      "composite": <true>|<false>,//Added at 10.1
      "relationshipTableId": <attributedRelationshipClassTableId>,  //Added in 10.1. Returned only for attributed relationships
      "keyFieldInRelationshipTable": "<key field in AttributedRelationshipClass table that matches keyField>" //Added in 10.1. Returned only for attributed relationships
    }
  ],
  "isDataVersioned": <true | false>, //Added at 10.1
  "isDataArchived": <true | false>, //Added at 10.6
  "isDataBranchVersioned": <true | false>,  //Added at 10.7
  "isCoGoEnabled": <true | false>, //Added at 10.6
  "supportsRollbackOnFailureParameter": <true | false>, //Added at 10.1
  "archivingInfo": {
    "supportsQueryWithHistoricMoment": <true | false>,
    "startArchivingMoment": <startArchivingMoment>
  }, //Added at 10.5
  "supportsStatistics": <true | false>, //Added at 10.1
  "supportsAdvancedQueries": <true | false>, //Added at 10.1
  "supportsCoordinatesQuantization": <true | false>, //Added at 10.6.1
  "supportsDatumTransformation": <true | false>, //Added at 10.8
  //properties applicable to feature layers only
  "geometryType" : "<geometryType>",
  //Added at 10.7
  "geometryProperties": {
    "shapeAreaFieldName": "<shapeAreaFieldName>", 
    "shapeLengthFieldName": "<shapeLengthFieldName>", 
    "units": "<units>"
  },
  "minScale": <minScale>,
  "maxScale": <maxScale>,
  "effectiveMinScale": <effectiveMinScale>,
  "effectiveMaxScale": <effectiveMaxScale>,
		"advancedQueryCapabilities": {
    "supportsPagination": <true | false>,
    "supportsTrueCurve": <true | false>,
    "supportsQueryWithDistance": <true | false>,
    "supportsLod": <true | false>,
    "supportsReturningQueryExtent": <true | false>,
    "supportsStatistics": <true | false>,
    "supportsHavingClause": <true | false>, //Added at 10.6.1
    "supportsOrderBy": <true | false>,
    "supportsDistinct": <true | false>,
    "supportsCountDistinct": <true | false>, //Added at 10.6.1
    "supportsPaginationOnAggregatedQueries": <true | false>,
    "supportsQueryWithResultType": <true | false>, //Added at 10.6.1
    "supportsReturningGeometryCentroid": <true | false>, //Added at 10.6.1
    "supportsSqlExpression": <true | false>,
    "supportsOutFieldsSqlExpression": <true | false>,
    "supportsTopFeaturesQuery": <true | false>,  //Added at 10.7
    "supportsOrderByOnlyOnLayerFields": <true | false>,  //Added at 10.7,
    "supportsQueryWithDatumTransformation": <true | false>, //Added at 10.8
    "supportsPercentileStatistics": <true | false>, //Added at 10.8
    "supportsQueryAttachments": <true | false>, //Added at 10.7.1
    "supportsQueryAttachmentsWithReturnUrl": <true | false> //Added at 10.7.1
  },
  "standardMaxRecordCountNoGeometry": <maxRecordCount>, //Added at 10.8
  "supportsAsyncCalculate": <true | false>, //Added at 10.8
  "supportsFieldDescriptionProperty": <true | false>,
  "advancedEditingCapabilities": {
    "supportedSqlFormatesInCalculate": [
      <formats>
    ]
  },
  "userTypeExtensions": [ //Added at 10.8
    <Extension Types>
  ],
  "extent":  {
    "xmin": <xmin>, "ymin": <ymin>, "xmax": <xmax>, "ymax": <ymax>,
    "spatialReference": {
      "wkid": <wkid>,
      "latestWkid": <latestWkid>,
      //Added at 10.6 when map is published with a vertical coordinate system
      "vcsWkid": <vcsWkid>, 
      "latestVcsWkid": <latestVcsWkid>,
      "xyTolerance": <xyTolerance>,
      "zTolerance": <zTolerance>,
      "mTolerance": <mTolerance>,
      "falseX": <falseX>,
      "falseY": <falseY>,
      "xyUnits": <xyUnits>,
      "falseZ": <falseZ>,
      "zUnits": <zUnits>,
      "falseM": <falseM>,
      "mUnits": <mUnits>
    } 
  },
  //Added at 10.6. Only returned when a map is published with a vertical coordinate system
  "heightModelInfo": { 
    "heightModel": "<heightModel>",
    "vertCRS": "<vertCRS>",
    "heightUnit": "<heightUnit>"
  }, 
  //Added at 10.6. Only returned when source data has a defined vertical coordinate system
  "sourceHeightModelInfo": { 
    "heightModel": "<heightModel>",
    "vertCRS": "<vertCRS>",
    "heightUnit": "<heightUnit>"
  }, //Added at 10.6 
  "sourceSpatialReference": {
    "wkid": <wkid>,
    "latestWkid": <latestWkid>,
    //Added at 10.6. Returns when source data is published with a vertical coordinate system
    "vcsWkid": <vcsWkid>,
    "latestVcsWkid": <latestVcsWkid>,
    "xyTolerance": <xyTolerance>,
    "zTolerance": <zTolerance>,
    "mTolerance": <mTolerance>,
    "falseX": <falseX>,
    "falseY": <falseY>,
    "xyUnits": <xyUnits>,
    "falseZ": <falseZ>,
    "zUnits": <zUnits>,
    "falseM": <falseM>,
    "mUnits": <mUnits>     
  },  
  //for feature layers only
  "drawingInfo": {
    "renderer": <renderer>,
    "transparency": <transparency>,
    "labelingInfo": <labelingInfo>
  },
  "hasM":  <true | false>, //if the features in the layer have M values, the hasM property will be true
  "hasZ":  <true | false>, //if the features in the layer have Z values, the hasZ property will be true
  //if the layer / table supports querying based on time
  "enableZDefaults": <true | false>,//Added at 10.1
  "zDefault": <zDefaultValue>,//Added at 10.1
  "allowGeometryUpdates": <true | false>,//Added at 10.1
  "timeInfo": {
    "startTimeField": "<startTimeFieldName>",
    "endTimeField": "<endTimeFieldName>",
    "trackIdField": "<trackIdFieldName>",
    "timeExtent": [<startTime>, <endTime>],
    "timeReference": {
      "timeZone": "<timeZone>",
      "respectsDaylightSaving" : <true | false>
    },
    "timeInterval": <timeInterval>,
    "timeIntervalUnits": "<timeIntervalUnits>"
  },
  //if the layer / table has attachments, the hasAttachments property will be true
  "hasAttachments": <true | false>,
  //from 10 onward - indicates whether the layer / table has htmlPopups
  "htmlPopupType": "<esriServerHTMLPopupTypeNone | esriServerHTMLPopupTypeAsURL | esriServerHTMLPopupTypeAsHTMLText>",
  //layer / table fields
  "objectIdField": "<objectIdFieldName>",
  "globalIdField": "<globalIdFieldName>",
  "typeIdField": "<typeIdFieldName>",
  //from 10.0 fields of type (String, Date, GlobalID, GUID and XML) have an additional length property, editable properties
  //from 10.1 fields have an additional nullable property
  //from 10.6 fields have additional defaultValue and modelName properties. defaultValue can be a numeric or string value
  "fields": [
    {
      "name": "<fieldName1>",
      "type": "<fieldType1>",
      "alias": "<fieldAlias1>",
      "domain": <domain1>,
      "editable": "<true | false>",
      "nullable": "<true | false>",
      "length": "<length1>",
      "defaultValue": "<defaultValue1>",
      "modelName": "<modelName1>"
    },
    {
      "name": "<fieldName2>",
      "type": "<fieldType2>",
      "alias": "<fieldAlias1>",
      "domain": <domain1>,
      "editable": "<true | false>",
      "nullable": "<true | false>",
      "length": "<length2>",
      "defaultValue": <defaultValue2>,
      "modelName": "<modelName2>"
    }
  ],
  //Added at 10.6.1
  "geometryField": {
    "name": "<fieldName>",
    "type": "<fieldType>",
    "alias": "<fieldAlias>",
    "domain": <domain>,
    "editable": "<true | false>",
    "nullable": "<true | false>",
    "defaultValue": "<defaultValue>",
    "modelName": "<modelName>"
  },
  //layer / table sub-types
  "types": [
    {
      "id": <typeId1>,
      "name": "<typeName1>",
      "domains": {
        "<domainField11>": <domain11>,
        "<domainField12>": <domain12>,
        "description": "<domainDescription>" //Added in 10.6
      },
      "templates": [
        {
          "name": "<templateName11>",
          "description": "<templateDescription11>",
          "prototype": <prototypicalFeature11>
        },
        {
          "name": "<templateName12>",
          "description": "<templateDescription12>",
          "prototype": <prototypicalFeature12>
        }
      ]
    },
    {
      "id": <typeId2>,
      "name": "<typeName2>",
      "domains": {
        "<domainField11>": <domain21>,
        "<domainField12>": <domain22>,
        "description": "<domainDescription>" //Added in 10.6
      },
      "templates": [
        {
          "name": "<templateName21>",
          "description": "<templateDescription21>",
          "prototype": <prototypicalFeature21>,
          "drawingTool": "esriFeatureEditToolNone | esriFeatureEditToolPoint | esriFeatureEditToolLine | esriFeatureEditToolPolygon |
             esriFeatureEditToolAutoCompletePolygon | esriFeatureEditToolCircle | esriFeatureEditToolEllipse | 
             esriFeatureEditToolRectangle |esriFeatureEditToolFreehand"
        },
        {
          "name": "<templateName22>",
          "description": "<templateDescription22>",
          "prototype": <prototypicalFeature22>,
          "drawingTool": "esriFeatureEditToolNone | esriFeatureEditToolPoint | esriFeatureEditToolLine | esriFeatureEditToolPolygon |
             esriFeatureEditToolAutoCompletePolygon | esriFeatureEditToolCircle | esriFeatureEditToolEllipse | 
             esriFeatureEditToolRectangle | esriFeatureEditToolFreehand"
        }
      ]
    }
  ],
  //layer / table templates - usually present when the layer / table has no types
  "templates": [
    {
      "name": "<templateName1>",
      "description": "<templateDescription1>",
      "prototype": <prototypicalFeature1>
    },
    {
      "name": "<templateName2>",
      "description": "<templateDescription2>",
      "prototype": <prototypicalFeature2>
    }
  ],
  "subtypes": [
    {
      "code": <SubtypeCode1>,
      "name": "<SubtypeDescription1>",
      "defaultValues": {
        "<fieldName1>": <default1>,
        "<fieldName2>": "<default2>"
      },
      "domains": {         
        "<fieldName1>": <domain11>,
        "<fieldName2>": <domain12>
      }
    },
    {
      "code": <SubtypeCode2>,
      "name": "<SubtypeDescription2>",
      "defaultValues": {
        "<fieldName1>": <default3>,
        "<fieldName2>": "<default4>"
      },
      "domains": {
        "<fieldName1>": <domain21>,
        "<fieldName2>": <domain22>
      }
    }
  ],
  //Maximum number of records returned in a query result
  "maxRecordCount": <maxRecordCount>, //Added at 10.1
  "standardMaxRecordCount ": <standardMaxRecordCount>, //Added at 10.6.1
  "tileMaxRecordCount": <tileMaxRecordCount>, //Added at 10.6.1
  "maxRecordCountFactor": <maxRecordCountFactor>, //Added at 10.6.1
  "supportedQueryFormats": "<supportedQueryFormats>", //Added at 10.1
  "hasMetadata": <true | false>, //Added at 10.6.1
  "hasStaticData": <true | false>,
  "sqlParserVersion": "<sqlParserVersion>", //Added at 10.7
  "isUpdatableView": <true | false>, //Added at 10.7
  //comma separated list of supported capabilities - e.g. "Create,Delete,Query,Update,Editing"
  "capabilities": "<capabilities>"
}

JSON Response examples

Example one: Feature service layer

Example two: Layer subtypes | returnDomainNames=false

Example three: Layer subtypes | returnDomainNames=true

Example four: Template and thumbnail

Example five: maxRecordCount point data

Example six: maxRecordCount polyilne data

Example seven: maxRecordCount polygon data

Example eight: maxRecordCount table

Example nine: Utility Network layer

Example ten: Spatial references

Example one

{
  "id": 0,
  "name": "Incidents",
  "type": "Feature Layer",
  "parentLayer": null,
  "displayField": "req_id",
  "description": "",
  "copyrightText": "",
  "subtypeField": "",
  "defaultSubtypeCode": 0,
  "defaultVisibility": True,
  "editFieldsInfo": {
    "creationDateField": "created_date",
    "creatorField": "created_user",
    "editDateField": "last_edited_date",
    "editorField": "last_edited_user",
    "dateFieldsTimeReference": {
      "timeZone": "UTC",
      "respectsDaylightSaving": false
    }
  },
  "isDataArchived": false,
  "isDataBranchVersioned": false,
  "isCoGoEnabled": false,
  "parentLayer": null,
  "minScale": 0,
  "maxScale": 0,
  "geometryType": "esriGeometryPoint",
  "geometryProperties": {
    "shapeAreaFieldName": "Shape__Area", 
    "shapeLengthFieldName": "Shape__Length", 
    "units": "esriMeters"
  },
  "supportsCoordinatesQuantization": true,
  "supportsDatumTransformation": true,
  "supportsRollbackOnFailureParameter": true,
  "advancedQueryCapabilities": {
    "supportsPagination": true,
    "supportsTrueCurve": true,
    "supportsQueryWithDistance": true,
    "supportsLod": false,
    "supportsPaginationOnAggregatedQueries": true,
    "supportsReturningQueryExtent": true,
    "supportsStatistics": true,
    "supportsHavingClause": true,
    "supportsOrderBy": true,
    "supportsDistinct": true,
    "supportsCountDistinct": true,
    "supportsQueryWithResultType": true,
    "supportsReturningGeometryCentroid": false,
    "supportsSqlExpression": true,
    "supportsOutFieldSqlExpression": false,
    "supportsTopFeaturesQuery": true,
    "supportsOrderByOnlyOnLayerFields": true,
    "supportsQueryWithDatumTransformation": true,
    "supportsPercentileStatistics": true,
    "supportsQueryAttachments": true,
    "supportsQueryAttachmentsWithReturnUrl": true
  },
  "standardMaxRecordCountNoGeometry": 3200,
  "supportsAsyncCalculate": true,
  "supportsFieldDescriptionProperty": true,
  "advancedEditingCapabilities": {
    "supportedSqlFormatsInCalculate": [
      "standard"
    ]
  },
  "userTypeExtensions": [
    "utilityNetwork"
  ],
  "extent": {
    "xmin": -122.514435102,
    "ymin": 5.6843418860808E-14,
    "xmax": 138.625776397,
    "ymax": 67.1577965990001,
    "spatialReference": {
      "wkid": 4326,
      "latestWkid": 3857,
      "vcsWkid": 5702,
      "latestVcsWkid": 5702,
      "xyTolerance": 0.001,
      "zTolerance": 0.001,
      "mTolerance": 0.001,
      "falseX": -20037700,
      "falseY": -30241100,
      "xyUnits": 10000,
      "falseZ": -100000,
      "zUnits": 10000,
      "falseM": -100000,
      "mUnits": 10000
    }
  },
  "heightModelInfo": {
    "heightModel": "gravity_related_height",
    "vertCRS": "NGVD_1929",
    "heightUnit": "us-foot"
  },
  "sourceSpatialReference": {
    "wkid": 102100,
    "latestWkid": 3857,
    "xyTolerance": 0.001,
    "zTolerance": 0.001,
    "mTolerance": 0.001,
    "falseX": -20037700,
    "falseY": -30241100,
    "xyUnits": 10000,
    "falseZ": -100000,
    "zUnits": 10000,
    "falseM": -100000,
    "mUnits": 10000
  },
  "sourceHeightModelInfo": {
    "heightModel": "ellipsoidal",
    "vertCRS": "ITRF_2000",
    "heightUnit": "meter"
  },
  "drawingInfo": {
    "renderer": {
      "type": "uniqueValue",
      "field1": "req_type",
      "field2": null,
      "field3": null,
      "defaultSymbol": null,
      "defaultLabel": "\u003call other values\u003e",
      "uniqueValueInfos": [
        {
          "value": "Blocked Street or Sidewalk",
          "label": "Blocked Street or Sidewalk",
          "description": "",
          "symbol": {
            "type": "esriPMS",
            "url": "1DD4FC53",
            "imageData": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAII=",
            "contentType": "image/png",
            "color": null,
            "width": 19,
            "height": 19,
            "angle": 0,
            "xoffset": 0,
            "yoffset": 0
          }
        },
        {
          "value": "Damaged Property",
          "label": "Damaged Property",
          "description": "",
          "symbol": {
            "type": "esriPMS",
            "url": "DF3100A6",
            "imageData": "iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAII=",
            "contentType": "image/png",
            "color": null,
            "width": 15,
            "height": 9,
            "angle": 0,
            "xoffset": 0,
            "yoffset": 0
          }
        },
        {
          "value": "Graffiti Complaint - Public Property",
          "label": "Graffiti Complaint",
          "description": "",
          "symbol": {
            "type": "esriPMS",
            "url": "B2E6E7A0",
            "imageData": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAg==",
            "contentType": "image/png",
            "color": null,
            "width": 19,
            "height": 19,
            "angle": 0,
            "xoffset": 0,
            "yoffset": 0
          }
        },
        {
          "value": "Graffiti Complaint � Private Property",
          "label": "Graffiti Complaint",
          "description": "",
          "symbol": {
            "type": "esriPMS",
            "url": "B2E6E7A0",
            "imageData": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAAg==",
            "contentType": "image/png",
            "color": null,
            "width": 19,
            "height": 19,
            "angle": 0,
            "xoffset": 0,
            "yoffset": 0
          }
        },
        {
          "value": "Sewer Issues",
          "label": "Sewer Issues",
          "description": "",
          "symbol": {
            "type": "esriPMS",
            "url": "80DC11A7",
            "imageData": "iVBORw0KGgoAAAANSUhEUgAAABYAAAAaCAYAAACzdqxAAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAAg==",
            "contentType": "image/png",
            "color": null,
            "width": 16,
            "height": 19,
            "angle": 0,
            "xoffset": 0,
            "yoffset": 0
          }
        },
        {
          "value": "Sidewalk and Curb Issues",
          "label": "Sidewalk and Curb Issues",
          "description": "",
          "symbol": {
            "type": "esriPMS",
            "url": "19213DC2",
            "imageData": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAAII=",
            "contentType": "image/png",
            "color": null,
            "width": 19,
            "height": 19,
            "angle": 0,
            "xoffset": 0,
            "yoffset": 0
          }
        },
        {
          "value": "Tree Maintenance or Damage",
          "label": "Tree Maintenance or Damage",
          "description": "",
          "symbol": {
            "type": "esriPMS",
            "url": "37B62A6C",
            "imageData": "iVBORw0KGgoAAAANSUhEUgAAABcAAAAaCAYAAABctMd+AAAAAXNSR0IB2cksfwAAAAlwSFlzAAAOxAAACC",
            "contentType": "image/png",
            "color": null,
            "width": 17,
            "height": 19,
            "angle": 0,
            "xoffset": 0,
            "yoffset": 0
          }
        }
      ]
    },
    "transparency": 0,
    "labelingInfo": null
  },
  "hasAttachments": false,
  "htmlPopupType": "esriServerHTMLPopupTypeAsHTMLText",
  "objectIdField": "objectid",
  "globalIdField": "",
  "typeIdField": "req_type",
  "fields": [
    {
      "name": "objectid",
      "type": "esriFieldTypeOID",
      "alias": "Object ID",
      "editable": false,
      "nullable": true,
      "domain": null,
      "defaultValue": null,
      "modelName": "OBJECTID"
    },
    {
      "name": "req_id",
      "type": "esriFieldTypeString",
      "alias": "Request ID",
      "editable": true,
      "length": 20,
      "nullable": true,
      "domain": null,
      "defaultValue": null,
      "modelName": "REQ_ID"
    },
    {
      "name": "req_type",
      "type": "esriFieldTypeString",
      "alias": "Request Type",
      "editable": true,
      "length": 40,
      "nullable": true,
      "domain": null,
      "defaultValue": null,
      "modelName": "REQ_TYPE"
    },
    {
      "name": "req_date",
      "type": "esriFieldTypeString",
      "alias": "Request Date",
      "editable": true,
      "length": 30,
      "nullable": true,
      "domain": null,
      "defaultValue": null,
      "modelName": "REQ_DATE"
    },
    {
      "name": "req_time",
      "type": "esriFieldTypeString",
      "alias": "Request Time",
      "editable": true,
      "length": 20,
      "nullable": true,
      "domain": null,
      "defaultValue": null,
      "modelName": "REQ_TIME"
    },
    {
      "name": "address",
      "type": "esriFieldTypeString",
      "alias": "Address",
      "editable": true,
      "length": 60,
      "nullable": true,
      "domain": null,
      "defaultValue": null,
      "modelName": "ADDRESS"
    },
    {
      "name": "x_coord",
      "type": "esriFieldTypeString",
      "alias": "X Coordinate",
      "editable": true,
      "length": 20,
      "nullable": true,
      "domain": null,
      "defaultValue": null,
      "modelName": "X_COORD"
    },
    {
      "name": "y_coord",
      "type": "esriFieldTypeString",
      "alias": "Y Coordinate",
      "editable": true,
      "length": 20,
      "nullable": true,
      "domain": null,
      "defaultValue": null,
      "modelName": "Y_COORD"
    },
    {
      "name": "district",
      "type": "esriFieldTypeString",
      "alias": "District",
      "editable": true,
      "length": 20,
      "nullable": true,
      "domain": null,
      "defaultValue": null,
      "modelName": "DISTRICT"
    },
    {
      "name": "status",
      "type": "esriFieldTypeSmallInteger",
      "alias": "Status",
      "editable": true,
      "nullable": true,
      "domain": {
        "type": "codedValue",
        "name": "StatusCodes",
        "codedValues": [
          {
            "name": "New",
            "code": 1
          },
          {
            "name": "Open",
            "code": 2
          },
          {
            "name": "Closed",
            "code": 3
          }
        ]
      }
    }
  ],
  "geometryField": {
    "name": "Shape",
    "type": "esriFieldTypeGeometry",
    "alias": "Shape",
    "domain": null,
    "editable": true,
    "nullable": true,
    "defaultValue": null,
    "modelName": "Shape"
 },
  "types": [
    {
      "id": "Graffiti Complaint - Private Property",
      "name": "Graffiti Complaint",
      "domains": {
        "description": null
      },
      "templates": [
        {
          "name": "Graffiti Complaint",
          "description": "",
          "drawingTool": "esriFeatureEditToolPoint",
          "prototype": {
            "attributes": {
              "status": 1,
              "req_id": null,
              "req_type": "Graffiti Complaint - Private Property",
              "req_date": null,
              "req_time": null,
              "address": null,
              "x_coord": null,
              "y_coord": null,
              "district": null
            }
          }
        }
      ]
    },
    {
      "id": "Blocked Street or Sidewalk",
      "name": "Blocked Street or Sidewalk",
      "domains": {
        "description": null
      },
      "templates": [
        {
          "name": "Blocked Street or Sidewalk",
          "description": "",
          "drawingTool": "esriFeatureEditToolPoint",
          "prototype": {
            "attributes": {
              "status": 1,
              "req_id": null,
              "req_type": "Blocked Street or Sidewalk",
              "req_date": null,
              "req_time": null,
              "address": null,
              "x_coord": null,
              "y_coord": null,
              "district": null
            }
          }
        }
      ]
    },
    {
      "id": "Damaged Property",
      "name": "Damaged Property",
      "domains": {
        "description": null        
      },
      "templates": [
        {
          "name": "Damaged Property",
          "description": "",
          "drawingTool": "esriFeatureEditToolPoint",
          "prototype": {
            "attributes": {
              "status": 1,
              "req_id": null,
              "req_type": "Damaged Property",
              "req_date": null,
              "req_time": null,
              "address": null,
              "x_coord": null,
              "y_coord": null,
              "district": null
            }
          }
        }
      ]
    },
    {
      "id": "Graffiti Complaint - Public Property",
      "name": "Graffiti Complaint",
      "domains": {
        "description": null        
      },
      "templates": [
        {
          "name": "Graffiti Complaint",
          "description": "",
          "drawingTool": "esriFeatureEditToolPoint",
          "prototype": {
            "attributes": {
              "status": 1,
              "req_id": null,
              "req_type": "Graffiti Complaint - Public Property",
              "req_date": null,
              "req_time": null,
              "address": null,
              "x_coord": null,
              "y_coord": null,
              "district": null
            }
          }
        }
      ]
    },
    {
      "id": "Sewer Issues",
      "name": "Sewer Issues",
      "domains": {
        "description": null        
      },
      "templates": [
        {
          "name": "Sewer Issues",
          "description": "",
          "drawingTool": "esriFeatureEditToolPoint",
          "prototype": {
            "attributes": {
              "status": 1,
              "req_id": null,
              "req_type": "Sewer Issues",
              "req_date": null,
              "req_time": null,
              "address": null,
              "x_coord": null,
              "y_coord": null,
              "district": null
            }
          }
        }
      ]
    },
    {
      "id": "Tree Maintenance or Damage",
      "name": "Tree Maintenance or Damage",
      "domains": {
        "description": null       
      },
      "templates": [
        {
          "name": "Tree Maintenance or Damage",
          "description": "",
          "drawingTool": "esriFeatureEditToolPoint",
          "prototype": {
            "attributes": {
              "status": 1,
              "req_id": null,
              "req_type": "Tree Maintenance or Damage",
              "req_date": null,
              "req_time": null,
              "address": null,
              "x_coord": null,
              "y_coord": null,
              "district": null
            }
          }
        }
      ]
    },
    {
      "id": "Sidewalk and Curb Issues",
      "name": "Sidewalk and Curb Issues",
      "domains": {
        "description": null        
      },
      "templates": [
        {
          "name": "Sidewalk and Curb Issues",
          "description": "",
          "drawingTool": "esriFeatureEditToolPoint",
          "prototype": {
            "attributes": {
              "status": 1,
              "req_id": null,
              "req_type": "Sidewalk and Curb Issues",
              "req_date": null,
              "req_time": null,
              "address": null,
              "x_coord": null,
              "y_coord": null,
              "district": null
            }
          }
        }
      ]
    }
  ],
  "templates": [
    
  ],
  "maxRecordCount" : 2000, 
  "standardMaxRecordCount" : 4000, 
  "tileMaxRecordCount" : 4000, 
  "maxRecordCountFactor" : 1,
  "hasMetadata": false,
  "supportedQueryFormats": "JSON, geoJSON, PBF",
  "capabilities": "Create,Delete,Query,Update,Editing",
  "sqlParserVersion": "PG_10.6.1",
  "isUpdatableView": true
}

Example two

Layer that has subtypes and returnDomainNames is false

{
  "currentVersion": 10.8,
  "cimVersion": "1.3.0",
  "id": 1,
  "name": "FC1",
  "parentLayerId": -1,
  "type": "Feature Layer",
  "description": "sync.GDB.FC1_1",
  "copyrightText": "",
  "defaultVisibility": true,
  "editFieldsInfo": null,
  "ownershipBasedAccessControlForFeatures": null,
  "syncCanReturnChanges": false,
  "relationships": [],
  "isDataVersioned": false,
  "supportsRollbackOnFailureParameter": true,
  "archivingInfo": {
    "supportsQueryWithHistoricMoment": false,
    "startArchivingMoment": -1
  },
  "supportsStatistics": true,
  "supportsAdvancedQueries": true,
  "supportsValidateSQL": true,
  "supportsCalculate": true,
  "advancedQueryCapabilities": {
    "supportsPagination": true,
    "supportsTrueCurve": true,
    "supportsQueryWithDistance": true,
    "supportsReturningQueryExtent": true,
    "supportsStatistics": true,
    "supportsOrderBy": true,
    "supportsDistinct": true
  },
  "geometryType": "esriGeometryPolygon",
  "minScale": 0,
  "maxScale": 0,
  "extent": {
    "xmin": -1.11478990548E7,
    "ymin": 5784886.1743,
    "xmax": -1.08927509324E7,
    "ymax": 5970448.445100002,
    "spatialReference": {
      "wkid": 102100,
      "latestWkid": 3857
    }
  },
  "drawingInfo": {
    "renderer": {
      "type": "uniqueValue",
      "field1": "FLD0_SUBT_FC2",
      "field2": null,
      "fieldDelimiter": ", ",
      "defaultSymbol": {
        "type": "esriSFS",
        "style": "esriSFSSolid",
        "color": [
          130,
          130,
          130,
          255
        ],
        "outline": {
          "type": "esriSLS",
          "style": "esriSLSSolid",
          "color": [
            225,
            225,
            225,
            255
          ],
          "width": 0.75
        }
      },
      "defaultLabel": "<all other values>",
      "uniqueValueInfos": [
        {
          "symbol": {
            "type": "esriSFS",
            "style": "esriSFSSolid",
            "color": [
              207,
              246,
              252,
              255
            ],
            "outline": {
              "type": "esriSLS",
              "style": "esriSLSSolid",
              "color": [
                110,
                110,
                110,
                255
              ],
              "width": 0.7
            }
          },
          "value": "1",
          "label": "subtype1",
          "description": ""
        }
      ]
    },
    "transparency": 0,
    "labelingInfo": null
  },
  "hasM": false,
  "hasZ": false,
  "allowGeometryUpdates": true,
  "hasAttachments": false,
  "supportsApplyEditsWithGlobalIds": false,
  "htmlPopupType": "esriServerHTMLPopupTypeAsHTMLText",
  "objectIdField": "OBJECTID",
  "globalIdField": "",
  "displayField": "FLD0_SUBT_FC2",
  "typeIdField": "FLD0_SUBT_FC2",
  "subtypeField": "FLD0_SUBT_FC2",
  "defaultSubtypeCode": 1,
  "fields": [
    {
      "name": "OBJECTID",
      "type": "esriFieldTypeOID",
      "alias": "OBJECTID",
      "domain": null,
      "editable": false,
      "nullable": false
    },
    {
      "name" : "Shape__Area", 
      "type" : "esriFieldTypeDouble", 
      "alias" : "Shape__Area", 
      "sqlType" : "sqlTypeDouble", 
      "nullable" : true, 
      "editable" : false, 
      "domain" : null, 
      "defaultValue" : null
    }, 
   {
      "name" : "Shape__Length", 
      "type" : "esriFieldTypeDouble", 
      "alias" : "Shape__Length", 
      "sqlType" : "sqlTypeDouble", 
      "nullable" : true, 
      "editable" : false, 
      "domain" : null, 
      "defaultValue" : null
    }, 
    {
      "name": "FLD0_SUBT_FC2",
      "type": "esriFieldTypeInteger",
      "alias": "FLD0_SUBT_FC2",
      "domain": null,
      "editable": true,
      "nullable": true
    },
    {
      "name": "FLD1_LONG_FC2",
      "type": "esriFieldTypeInteger",
      "alias": "FLD1_LONG_FC1",
      "domain": {
        "type": "range",
        "name": "RDOM_1",
        "range": [
          1,
          50
        ],
        "mergePolicy": "esriMPTDefaultValue",
        "splitPolicy": "esriSPTDefaultValue"
      },
      "editable": true,
      "nullable": true
    },
    {
      "name": "FLD2_DBL_FC2",
      "type": "esriFieldTypeDouble",
      "alias": "FLD2_DBL_FC2",
      "domain": {
        "type": "range",
        "name": "RDOM_3",
        "range": [
          100,
          150.5
        ],
        "mergePolicy": "esriMPTDefaultValue",
        "splitPolicy": "esriSPTDefaultValue"
      },
      "editable": true,
      "nullable": true
    },
    {
      "name": "FLD3_DBL_FC2",
      "type": "esriFieldTypeDouble",
      "alias": "FLD3_LONG_FC1",
      "domain": {
        "type": "codedValue",
        "name": "CDOM_1",
        "codedValues": [
          {
            "name": "code 1 description",
            "code": 1
          },
          {
            "name": "code 1.5 description",
            "code": 1.5
          },
          {
            "name": "code 2 description",
            "code": 2
          },
          {
            "name": "code 2.5 description",
            "code": 2.5
          }
        ],
        "mergePolicy": "esriMPTDefaultValue",
        "splitPolicy": "esriSPTDefaultValue"
      },
      "editable": true,
      "nullable": true
    },
    {
      "name": "FLD4_TEXT_FC2",
      "type": "esriFieldTypeString",
      "alias": "FLD4_LONG_FC1",
      "domain": {
        "type": "codedValue",
        "name": "CDOM_3",
        "codedValues": [
          {
            "name": "code 100 description",
            "code": "code 100"
          },
          {
            "name": "code 200 description",
            "code": "code 200"
          },
          {
            "name": "code 300 description",
            "code": "code 300"
          }
        ],
        "mergePolicy": "esriMPTDefaultValue",
        "splitPolicy": "esriSPTDefaultValue"
      },
      "editable": true,
      "nullable": true,
      "length": 50
    }
  ],
  "indexes": [
    {
      "name": "R1390_pk",
      "fields": "OBJECTID",
      "isAscending": true,
      "isUnique": true,
      "description": ""
    },
    {
      "name" : "Shape__Area_Index", 
      "fields" : "Shape__Area", 
      "isAscending" : true, 
      "isUnique" : false, 
      "description" : ""
    }, 
    {
      "name" : "Shape__Length_Index", 
      "fields" : "Shape__Length", 
      "isAscending" : true, 
      "isUnique" : false, 
      "description" : ""
    },
    {
      "name": "S1047_idx",
      "fields": "SHAPE",
      "isAscending": true,
      "isUnique": true,
      "description": ""
    }
  ],
  "dateFieldsTimeReference": {
    "timeZone": "UTC",
    "respectsDaylightSaving": false
  },
  "types": [
    {
      "id": 1,
      "name": "subtype1",
      "domains": {
        "FLD1_LONG_FC2": {"type": "inherited"},
        "FLD3_DBL_FC2": {
          "type": "codedValue",
          "name": "CDOM_4",
          "codedValues": [
            {
              "name": "coded 1000.1 desc",
              "code": 1000.1
            },
            {
              "name": "coded 2000.1 desc",
              "code": 2000.2
            },
            {
              "name": "coded 3000.1 desc",
              "code": 3000.3
            }
          ],
          "mergePolicy": "esriMPTDefaultValue",
          "splitPolicy": "esriSPTDefaultValue"
        },
        "FLD4_TEXT_FC2": {"type": "inherited"}
      },
      "templates": [
        {
          "name": "subtype1",
          "description": "",
          "prototype": {
            "attributes": {
              "FLD3_DBL_FC2": 1000.1,
              "FLD4_TEXT_FC2": "code 200",
              "FLD0_SUBT_FC2": 1,
              "FLD1_LONG_FC2": 25,
              "FLD2_DBL_FC2": null
            }
          },
          "drawingTool": "esriFeatureEditToolPolygon"
        }
      ]
    }
  ],
  "templates": [],
  "subtypes": [
    {
      "code": 1,
      "name": "subtype1",
      "defaultValues": {
        "FLD0_SUBT_FC2": 1,
        "FLD1_LONG_FC2": 25,
        "FLD2_DBL_FC2": null,
        "FLD3_DBL_FC2": 1000.1,
        "FLD4_TEXT_FC2": "code 200"
      },
      "domains": {
        "FLD1_LONG_FC2": {"type": "inherited"},
        "FLD3_DBL_FC2": {
          "type": "codedValue",
          "name": "CDOM_4",
          "codedValues": [
            {
               "name": "coded 1000.1 desc",
               "code": 1000.1
            },
            {
               "name": "coded 2000.1 desc",
               "code": 2000.2
            },
            {
               "name": "coded 3000.1 desc",
               "code": 3000.3
            }
          ],
          "mergePolicy": "esriMPTDefaultValue",
          "splitPolicy": "esriSPTDefaultValue"
        },
        "FLD4_TEXT_FC2": {"type": "inherited"}
      }
    }
  ],
  "maxRecordCount" : 2000, 
  "standardMaxRecordCount" : 4000, 
  "tileMaxRecordCount" : 4000, 
  "maxRecordCountFactor" : 1,
  "supportedQueryFormats": "JSON, geoJSON, PBF",
  "capabilities": "Create,Query,Update,Delete,Extract,Uploads,Editing",
  "useStandardizedQueries": true
}

Example three

Layer that has subtypes and returnDomainNames is true

{
  "currentVersion": 10.8,
  "cimVersion": "1.3.0",
  "id": 1,
  "name": "FC1",
  "parentLayerId": -1,
  "type": "Feature Layer",
  "description": "sync.GDB.FC1_1",
  "copyrightText": "",
  "defaultVisibility": true,
  "editFieldsInfo": null,
  "ownershipBasedAccessControlForFeatures": null,
  "syncCanReturnChanges": false,
  "relationships": [],
  "isDataVersioned": false,
  "supportsRollbackOnFailureParameter": true,
  "archivingInfo": {
    "supportsQueryWithHistoricMoment": false,
    "startArchivingMoment": -1
  },
  "supportsStatistics": true,
  "supportsAdvancedQueries": true,
  "supportsValidateSQL": true,
  "supportsCalculate": true,
  "advancedQueryCapabilities": {
    "supportsPagination": true,
    "supportsTrueCurve": true,
    "supportsQueryWithDistance": true,
    "supportsReturningQueryExtent": true,
    "supportsStatistics": true,
    "supportsOrderBy": true,
    "supportsDistinct": true
  },
  "geometryType": "esriGeometryPolygon",
  "minScale": 0,
  "maxScale": 0,
  "extent": {
    "xmin": -1.11478990548E7,
    "ymin": 5784886.1743,
    "xmax": -1.08927509324E7,
    "ymax": 5970448.445100002,
    "spatialReference": {
      "wkid": 102100,
      "latestWkid": 3857
    }
  },
  "drawingInfo": {
    "renderer": {
      "type": "uniqueValue",
      "field1": "FLD0_SUBT_FC2",
      "field2": null,
      "fieldDelimiter": ", ",
      "defaultSymbol": {
        "type": "esriSFS",
        "style": "esriSFSSolid",
        "color": [
          130,
          130,
          130,
          255
        ],
        "outline": {
          "type": "esriSLS",
          "style": "esriSLSSolid",
          "color": [
            225,
            225,
            225,
            255
          ],
          "width": 0.75
        }
      },
      "defaultLabel": "<all other values>",
      "uniqueValueInfos": [
        {
          "symbol": {
            "type": "esriSFS",
            "style": "esriSFSSolid",
            "color": [
              207,
              246,
              252,
              255
            ],
            "outline": {
              "type": "esriSLS",
              "style": "esriSLSSolid",
              "color": [
                110,
                110,
                110,
                255
              ],
              "width": 0.7
            }
          },
          "value": "1",
          "label": "subtype1",
          "description": ""
        }
      ]
    },
    "transparency": 0,
    "labelingInfo": null
  },
  "hasM": false,
  "hasZ": false,
  "allowGeometryUpdates": true,
  "hasAttachments": false,
  "supportsApplyEditsWithGlobalIds": false,
  "htmlPopupType": "esriServerHTMLPopupTypeAsHTMLText",
  "objectIdField": "OBJECTID",
  "globalIdField": "",
  "displayField": "FLD0_SUBT_FC2",
  "typeIdField": "FLD0_SUBT_FC2",
  "subtypeField": "FLD0_SUBT_FC2",
  "defaultSubtypeCode": 1,
  "fields": [
    {
      "name": "OBJECTID",
      "type": "esriFieldTypeOID",
      "alias": "OBJECTID",
      "domain": null,
      "editable": false,
      "nullable": false
    },
    {
      "name": "FLD0_SUBT_FC2",
      "type": "esriFieldTypeInteger",
      "alias": "FLD0_SUBT_FC2",
      "domain": null,
      "editable": true,
      "nullable": true
    },
    {
      "name": "FLD1_LONG_FC2",
      "type": "esriFieldTypeInteger",
      "alias": "FLD1_LONG_FC1",
      "domain": {"name": "RDOM_1"},
      "editable": true,
      "nullable": true
    },
    {
      "name": "FLD2_DBL_FC2",
      "type": "esriFieldTypeDouble",
      "alias": "FLD2_DBL_FC2",
      "domain": {"name": "RDOM_3"},
      "editable": true,
      "nullable": true
    },
    {
      "name": "FLD3_DBL_FC2",
      "type": "esriFieldTypeDouble",
      "alias": "FLD3_LONG_FC1",
      "domain": {"name": "CDOM_1"},
      "editable": true,
      "nullable": true
    },
    {
      "name": "FLD4_TEXT_FC2",
      "type": "esriFieldTypeString",
      "alias": "FLD4_LONG_FC1",
      "domain": {"name": "CDOM_3"},
      "editable": true,
      "nullable": true,
      "length": 50
    }
  ],
  "indexes": [
    {
      "name": "R1390_pk",
      "fields": "OBJECTID",
      "isAscending": true,
      "isUnique": true,
      "description": ""
    },
    {
      "name": "S1047_idx",
      "fields": "SHAPE",
      "isAscending": true,
      "isUnique": true,
      "description": ""
    }
  ],
  "dateFieldsTimeReference": {
    "timeZone": "UTC",
    "respectsDaylightSaving": false
  },
  "types": [
    {
      "id": 1,
      "name": "subtype1",
      "domains": {
        "FLD1_LONG_FC2": {"name": "RDOM_1"},
        "FLD3_DBL_FC2": {"name": "CDOM_4"},
        "FLD4_TEXT_FC2": {"name": "CDOM_3"}
      },
      "templates": [
        {
          "name": "subtype1",
          "description": "",
          "prototype": {
            "attributes": {
              "FLD3_DBL_FC2": 1000.1,
              "FLD4_TEXT_FC2": "code 200",
              "FLD0_SUBT_FC2": 1,
              "FLD1_LONG_FC2": 25,
              "FLD2_DBL_FC2": null
            }
          },
          "drawingTool": "esriFeatureEditToolPolygon"
        }
      ]
    }
  ],
  "templates": [],
  "subtypes": [
    {
      "code": 1,
      "name": "subtype1",
      "defaultValues": {
        "FLD0_SUBT_FC2": 1,
        "FLD1_LONG_FC2": 25,
        "FLD2_DBL_FC2": null,
        "FLD3_DBL_FC2": 1000.1,
        "FLD4_TEXT_FC2": "code 200"
      },
      "domains": {
        "FLD1_LONG_FC2": {"name": "RDOM_1"},
        "FLD3_DBL_FC2": {"name": "CDOM_4"},
        "FLD4_TEXT_FC2": {"name": "CDOM_3"}
      }
    }
  ],
  "maxRecordCount" : 2000, 
  "standardMaxRecordCount" : 4000, 
  "tileMaxRecordCount" : 4000, 
  "maxRecordCountFactor" : 1,
  "supportedQueryFormats": "JSON, geoJSON",
  "capabilities": "Create,Query,Update,Delete,Extract,Uploads,Editing",
  "useStandardizedQueries": true
}

Example four

Layer with a template and thumbnail

{
  ....
  "templates": [
    {
      "name": "template_sample",
      "description": "template with thumbnail",
      "prototype": {
        "attributes": {
          "direction": null,
          "name": null,
          "code": null
        }
      },
      "drawingTool": "esriFeatureEditToolPoint",
      "thumbnail": {
        "imageData":" <base 64>",
        "contentType": "image/png",
        "height": 34,
        "width": 40
      }
    }
  ]
  ....
},
...

Example five

maxRecordCount for point data

{
  "maxRecordCount": 2000, 
  "standardMaxRecordCount": 32000, 
  "tileMaxRecordCount": 8000, 
},
...

Example six

maxRecordCount for polyline data

{
  "maxRecordCount": 2000, 
  "standardMaxRecordCount": 4000, 
  "tileMaxRecordCount": 4000, 
},
...

Example seven

maxRecordCount for polygon data

{
  "maxRecordCount": 2000, 
  "standardMaxRecordCount": 4000, 
  "tileMaxRecordCount": 4000, 
},
...

Example eight

maxRecordCount for table

{
  "maxRecordCount": 2000, 
  "standardMaxRecordCount": 32000, 
  "tileMaxRecordCount": 8000, 
},
...

Example nine

Utility network layer

{
  "currentVersion": 10.8,
  "cimVersion": "2.1.0",
  "id": 8,
  "name": "Electric Utility Network",
  "type": "Utility Network Layer",
  "description": "",
  "geometryType": null,
  "copyrightText": "",
  "parentLayer": null,
  "subLayers": [
    {
      "id": 9,
      "name": "Point Errors"
    },
    {
      "id": 10,
      "name": "Line Errors"
    },
    {
      "id": 11,
      "name": "Polygon Errors"
    },
    {
      "id": 12,
      "name": "Dirty Areas"
    }
  ],
  "minScale": 0,
  "maxScale": 0,
  "defaultVisibility": true,
  "extent": {
    "xmin": 1025871.4390050925,
    "ymin": 1861241.5247562313,
    "xmax": 1037672.4351865175,
    "ymax": 1873159.6725078186,
    "spatialReference": {
      "wkid": 102671,
      "latestWkid": 3435,
      "xyTolerance": 0.00328083333333333,
      "zTolerance": 0.001,
      "mTolerance": 0.001,
      "falseX": -17463800,
      "falseY": -46132600,
      "xyUnits": 3048.0060960121905,
      "falseZ": -100000,
      "zUnits": 10000,
      "falseM": -100000,
      "mUnits": 10000
    }
  },
  "hasAttachments": false,
  "htmlPopupType": "esriServerHTMLPopupTypeNone",
  "displayField": "",
  "typeIdField": null,
  "subtypeFieldName": null,
  "fields": null,
  "indexes": [],
  "subtypes": [],
  "relationships": [],
  "canModifyLayer": false,
  "canScaleSymbols": false,
  "hasLabels": false,
  "supportsStatistics": false,
  "supportsAdvancedQueries": false,
  "supportedQueryFormats": "JSON, geoJSON",
  "ownershipBasedAccessControlForFeatures": {"allowOthersToQuery": true},
  "useStandardizedQueries": true,
  "advancedQueryCapabilities": {
    "useStandardizedQueries": true,
    "supportsStatistics": false,
    "supportsOrderBy": false,
    "supportsDistinct": false,
    "supportsPagination": false,
    "supportsTrueCurve": false,
    "supportsReturningQueryExtent": true,
    "supportsQueryWithDistance": true,
    "supportsSqlExpression": false
  },
  "systemLayers": {
    "dirtyAreasLayerId": 12,
    "lineErrorsLayerId": 10,
    "pointErrorsLayerId": 9,
    "polygonErrorsLayerId": 11,
    "associationsTableId": 500001,
    "subnetworksTableId": 500002,
    "rulesTableId": 500003,
    "diagramEdgeLayerId": 500005,
    "diagramJunctionLayerId": 500006,
    "diagramContainerLayerId": 500007,
    "temporaryDiagramEdgeLayerId": 500008,
    "temporaryDiagramJunctionLayerId": 500009,
    "temporaryDiagramContainerLayerId": 500010
  },
  "associationTypeValues": {
    "connectivity": 1,
    "containment": 2,
    "attachment": 3
  },
  "capabilities": ""
},
...

Example ten

Layer with spatial reference, VCS, tolerance, resolution properties, heigh model info, source spatial reference, and source height model info:

"extent": {
  "xmin": -1.2912538509399999E7,
  "ymin": 4475883.597499996,
  "xmax": -8559568.4057,
  "ymax": 5338447.646700002,
  "spatialReference": {
    "wkid": 102100,
    "latestWkid": 3857,
    "vcsWkid": 115700,
    "latestVcsWkid": 115700,
    "xyTolerance": 0.001,
    "zTolerance": 0.001,
    "mTolerance": 0.001,
    "falseX": -20037700,
    "falseY": -30241100,
    "xyUnits": 1.4892314192838538E8,
    "falseZ": -100000,
    "zUnits": 10000,
    "falseM": -100000,
    "mUnits": 10000
  }
},
"heightModelInfo": {
  "heightModel": "ellipsoidal",
  "vertCRS": "WGS_1984",
  "heightUnit": "meter"
},
"sourceSpatialReference": {
  "wkid": 4326,
  "latestWkid": 4326,
  "vcsWkid": 5874,
  "latestVcsWkid": 5874,
  "xyTolerance": 0.001,
  "zTolerance": 0.001,
  "mTolerance": 0.001,
  "falseX": -20037700,
  "falseY": -30241100,
  "xyUnits": 10000,
  "falseZ": -100000,
  "zUnits": 10000,
  "falseM": -100000,
  "mUnits": 10000
},
"sourceHeightModelInfo": {
  "heightModel": "gravity_related_height",
  "vertCRS": "High_Water_Height",
  "heightUnit": "meter"
},
...