A hosted feature layer (item) can be used to manage the item properties and the settings for the corresponding feature layer and feature service. A hosted feature layer (item) contains content properties such as name and description that describe the item resource in a portal, and data service properties such as source and URL for the corresponding feature service associated with the item. The item also provides access to the properties for all of the contained feature layers (datasets).
You can use the item properties to:
- Update the metadata for the hosted layer such as the name, description, and terms of use.
- Make an item more discoverable in a portal.
- Include important terms of use or credits information.
- Find data service information such as the URL endpoint.
- Change the sharing and security settings.
How to manage a hosted feature layer (item)
When you create a new data service, the hosted layer and data service sharing level (privacy setting) is set to Owner. The item and data service are only available to you. This setting requires that applications provide a valid access token to authenticate requests to view the item or to access the data service.
The steps to change the sharing properties are:
-
Sign in to your portal:
- ArcGIS Location Platform: Go to https://location.arcgis.com > My portal.
- ArcGIS Online: Go to https://www.arcgis.com/home/signin.html.
- ArcGIS Enterprise: Go to your portal URL. Learn more at ArcGIS Enterprise > Use > Get started > Access.
- Find the item.
- Use the item page to change the item properties.
Access an item page
You can manage the properties of a hosted layer by accessing the item page in a portal. If you are the owner of the item, you can use the item page to update the properties.
https://{portal}/home/item.html?{id}
Example: https://www.arcgis.com/home/item.html?id=883cedb8c9fe4524b64d47666ed234a7
Content properties
The content properties of a hosted layer (item) describe the resource in a portal. These properties uniquely define a data service and allow it to be discoverable in a portal. As an owner, you can set properties such as the name, description, tags, thumbnail, and terms of use to provide details about the underlying data service. Other properties such as id, type, created date, and updated date are read-only and are maintained by the system.
Examples of general properties include the following:
- *ID: The unique identifier for the item.
- *Type: The type of hosted layer.
- *Item created: Date the item was created.
- *Item updated: Date the item was updated.
- *View count: Number of times the item page was viewed.
- *Owner: Name of the owner or publisher of the data.
- Name: The name of the hosted layer.
- Description: Text that describes the layer, what data it contains, and what it is used for.
- Terms of use: Description of usage restrictions for the data.
- Tags: Search text used to find an item in a portal.
- Credits: Attribution for the data.
- Terms of use: The terms and usage restrictions.
*Read-only properties
Data service properties
The service properties of a hosted layer (item) provide information about the underlying data service. For example, it contains the layers, source, and service URL. These are read-only but are useful when you need to find the URL for the underlying data service and layers.
Examples of service properties include the following:
- *Layers: Access to other layers if present.
- *Source: The type of data service (feature service, vector tile service, map service).
- *Size: The size of the data in KB.
- *URL: The URL used to access the layer in the data service.
*Read-only properties
Code examples
You can use data management tools to get the properties of a hosted feature layer (item) or you can use the ArcGIS REST APIs. The following examples illustrate how to programmatically get the properties of a hosted feature layer (item), feature layer, and feature service.
Get item properties
To access the item properties directly, you can do so by using the REST API with the item ID. The example below returns the item properties and values for a hosted feature layer (item).
https://www.arcgis.com/sharing/rest/content/users/esri_devlabs/items/883cedb8c9fe4524b64d47666ed234a7?f=json&token={access_token}
{
"id": "883cedb8c9fe4524b64d47666ed234a7",
"owner": "esri_devlabs",
"orgId": "GVgbJbqm8hXASVYi",
"created": 1488137145000,
"isOrgItem": true,
"modified": 1685743899000,
"guid": null,
"name": null,
"title": "Trailheads",
"type": "Feature Service",
"typeKeywords": [
"ArcGIS Server",
"Data",
"Feature Access",
"Feature Service",
"Service",
"Singlelayer",
"Hosted Service"
],
"description": null,
"tags": [
"LA Trailheads",
"ArcGIS DevLabs",
"Los Angeles",
"Trailheads"
],
"snippet": "Trailheads in the Santa Monica Mountains",
"thumbnail": "thumbnail/ago_downloaded.png",
"documentation": null,
"extent": [
[
-118.98,
33.98
],
[
-118.41,
34.21
]
],
"categories": [],
"spatialReference": null,
"accessInformation": "Los Angeles GeoHub",
"licenseInfo": "<font color='#333333' style='background-color: rgb(255, 255, 255); font-family: "Open Sans", Avenir, Arial;'>A broad collection of information layers and datasets made available by the City of Los Angeles as Open Data at <a href='http://geohub.lacity.org/' target='_blank'>http://geohub.lacity.org/</a>.</font><br /><span style='background-color: rgb(255, 255, 255); color: rgb(51, 51, 51);'><br />This dataset is maintained through the County of Los Angeles Location Management System. The Location Management System is used by the County of Los Angeles GIS Program to maintain a single, comprehensive geographic database of locations countywide. For more information on the Location Management System, visit </span><a href='http://egis3.lacounty.gov/lms/' style='color: rgb(0, 120, 189); font-family: "Lucida Grande", "Segoe UI", Arial, sans-serif; box-sizing: border-box; text-decoration: none;' target='_blank'>http://egis3.lacounty.gov/lms/</a><span style='background-color: rgb(255, 255, 255); color: rgb(51, 51, 51); font-family: "Lucida Grande", "Segoe UI", Arial, sans-serif;'>.</span>",
"culture": "en-us",
"properties": {
"indexJobId": "",
"indexJobUrl": ""
},
"advancedSettings": null,
"url": "https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Trailheads/FeatureServer",
"proxyFilter": null,
"access": "public",
"size": 466944,
"subInfo": 0,
"appCategories": [],
"industries": [],
"languages": [],
"largeThumbnail": null,
"banner": null,
"screenshots": [],
"listed": false,
"ownerFolder": "2097945af74e496880f899c1be052f0f",
"protected": true,
"commentsEnabled": true,
"numComments": 0,
"numRatings": 0,
"avgRating": 0,
"numViews": 20046,
"itemControl": "admin",
"scoreCompleteness": 60,
"groupDesignations": null,
"lastViewed": 1685977200000
}
Get feature service properties
To access the feature service properties directly, you can do so by using the REST API feature service endpoint. The example below returns the feature service properties and values for a hosted feature service.
https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Trailheads/FeatureServer?token={access_token}
{
"currentVersion": 11.1,
"serviceItemId": "883cedb8c9fe4524b64d47666ed234a7",
"hasChangeTrackingEnabledViews": true,
"serviceDescription": "",
"hasVersionedData": false,
"supportsDisconnectedEditing": false,
"hasStaticData": false,
"hasSharedDomains": false,
"maxRecordCount": 2000,
"supportedQueryFormats": "JSON",
"supportsVCSProjection": false,
"supportedExportFormats": "csv,shapefile,sqlite,geoPackage,filegdb,featureCollection,geojson,excel",
"capabilities": "Query,ChangeTracking",
"description": "",
"copyrightText": "",
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
},
"initialExtent": {
"xmin": -13240129.679701095,
"ymin": 3994281.9887753138,
"xmax": -13106722.92583799,
"ymax": 4101417.5063218847,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
},
"fullExtent": {
"xmin": -13240129.679701095,
"ymin": 3994281.9887753138,
"xmax": -13106722.92583799,
"ymax": 4101417.5063218847,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
},
"allowGeometryUpdates": true,
"units": "esriMeters",
"supportsAppend": true,
"supportsSharedDomains": true,
"supportsWebHooks": true,
"supportsTemporalLayers": true,
"layerOverridesEnabled": true,
"size": 319488,
"syncEnabled": false,
"extractChangesCapabilities": {
"supportsReturnIdsOnly": true,
"supportsReturnExtentOnly": true,
"supportsReturnAttachments": true,
"supportsLayerQueries": true,
"supportsGeometry": true,
"supportsFeatureReturn": true,
"supportsReturnHasGeometryUpdates": false,
"supportsReturnDeletedFeatures": true,
"supportsServerGens": true,
"supportsFieldsToCompare": true
},
"supportsApplyEditsWithGlobalIds": true,
"supportsReturnDeleteResults": true,
"supportsLayerOverrides": true,
"supportsTilesAndBasicQueriesMode": true,
"supportsQueryContingentValues": true,
"supportedContingentValuesFormats": "JSON, PBF",
"supportsContingentValuesJson": 2,
"advancedEditingCapabilities": {
"supportsSplit": false,
"supportsReturnServiceEditsInSourceSR": false,
"supportsAsyncApplyEdits": true,
"supportsReturnEditResults": true,
"supportsApplyEditsbyUploadID": true,
"supportedApplyEditsUploadIDFormats": "JSON"
},
"editorTrackingInfo": {
"enableEditorTracking": false,
"enableOwnershipAccessControl": false,
"allowOthersToQuery": true,
"allowOthersToUpdate": true,
"allowOthersToDelete": false,
"allowAnonymousToQuery": true,
"allowAnonymousToUpdate": true,
"allowAnonymousToDelete": true
},
"changeTrackingInfo": {
"lastSyncDate": 1603131158295,
"layerServerGens": [
{
"id": 0,
"minServerGen": 318897,
"serverGen": 649144
}
]
},
"xssPreventionInfo": {
"xssPreventionEnabled": true,
"xssPreventionRule": "InputOnly",
"xssInputRule": "rejectInvalid"
},
"layers": [
{
"id": 0,
"name": "Trailheads",
"parentLayerId": -1,
"defaultVisibility": true,
"subLayerIds": null,
"minScale": 2311163,
"maxScale": 0,
"type": "Feature Layer",
"geometryType": "esriGeometryPoint"
}
],
"tables": [
]
}
Get feature layer properties
To access feature layer properties directly, use the REST API feature service endpoint with the layer
resource.
The example below returns the feature layer properties for a feature layer in a hosted feature service.
https://services3.arcgis.com/GVgbJbqm8hXASVYi/arcgis/rest/services/Trailheads/FeatureServer/{layerId}?f=jsontoken={access_token}
{
"currentVersion": 11.1,
"id": 0,
"name": "Trailheads",
"type": "Feature Layer",
"serviceItemId": "883cedb8c9fe4524b64d47666ed234a7",
"cacheMaxAge": 30,
"displayField": "",
"description": "",
"copyrightText": "",
"defaultVisibility": true,
"serverGens": {
"minServerGen": 318897,
"serverGen": 649144
},
"editingInfo": {
"lastEditDate": 1694533059226,
"schemaLastEditDate": 1607017294831,
"dataLastEditDate": 1607017294831
},
"relationships": [],
"isDataVersioned": false,
"hasContingentValuesDefinition": false,
"supportsAppend": true,
"supportsCalculate": true,
"supportsASyncCalculate": true,
"supportsTruncate": true,
"supportsAttachmentsByUploadId": true,
"supportsAttachmentsResizing": true,
"supportsRollbackOnFailureParameter": true,
"supportsStatistics": true,
"supportsExceedsLimitStatistics": true,
"supportsAdvancedQueries": true,
"supportsValidateSql": true,
"supportsCoordinatesQuantization": true,
"supportsLayerOverrides": true,
"supportsTilesAndBasicQueriesMode": true,
"supportsFieldDescriptionProperty": true,
"supportsQuantizationEditMode": true,
"supportsApplyEditsWithGlobalIds": true,
"supportsReturningQueryGeometry": true,
"advancedQueryCapabilities": {
"supportsPagination": true,
"supportsQueryAttachmentsCountOnly": true,
"supportsPaginationOnAggregatedQueries": true,
"supportsQueryRelatedPagination": true,
"supportsQueryWithDistance": true,
"supportsReturningQueryExtent": true,
"supportsStatistics": true,
"supportsOrderBy": true,
"supportsDistinct": true,
"supportsQueryWithResultType": true,
"supportsSqlExpression": true,
"supportsAdvancedQueryRelated": true,
"supportsCountDistinct": true,
"supportsPercentileStatistics": true,
"supportsSpatialAggregationStatistics": true,
"supportedSpatialAggregationStatistics": [
"EnvelopeAggregate",
"CentroidAggregate",
"ConvexHullAggregate"
],
"supportsLod": true,
"supportsQueryWithLodSR": false,
"supportedLodTypes": [
"geohash"
],
"supportsReturningGeometryCentroid": false,
"supportsQueryWithDatumTransformation": true,
"supportsHavingClause": true,
"supportsOutFieldSQLExpression": true,
"supportsMaxRecordCountFactor": true,
"supportsTopFeaturesQuery": true,
"supportsDisjointSpatialRel": true,
"supportsQueryWithCacheHint": true,
"supportedOperationsWithCacheHint": [
"query",
"queryTopFilter",
"queryAnalytics",
"queryAttachments",
"queryRelated"
],
"supportsQueryAnalytic": true,
"supportsDefaultSR": true,
"supportsFullTextSearch": true
},
"advancedQueryAnalyticCapabilities": {
"supportsLinearRegression": true,
"supportsAsync": true,
"supportsPercentileAnalytic": true
},
"advancedEditingCapabilities": {
"supportedSqlFormatsInCalculate": [
"standard"
],
"supportsAsyncApplyEdits": true,
"supportsReturnEditResults": true,
"supportsApplyEditsbyUploadID": true,
"supportedApplyEditsUploadIDFormats": "JSON"
},
"infoInEstimates": [
"extent",
"count"
],
"useStandardizedQueries": true,
"geometryType": "esriGeometryPoint",
"minScale": 2311163,
"maxScale": 0,
"extent": {
"xmin": -13240129.679701095,
"ymin": 3994281.9887753138,
"xmax": -13106722.92583799,
"ymax": 4101417.5063218847,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
},
"drawingInfo": {
"renderer": {
"type": "simple",
"symbol": {
"color": [
26,
26,
26,
255
],
"size": 6,
"angle": 0,
"xoffset": 0,
"yoffset": 0,
"type": "esriSMS",
"style": "esriSMSCircle",
"outline": {
"color": [
255,
255,
255,
255
],
"width": 0.75,
"type": "esriSLS",
"style": "esriSLSSolid"
}
}
},
"transparency": 0
},
"allowGeometryUpdates": true,
"hasAttachments": false,
"htmlPopupType": "esriServerHTMLPopupTypeNone",
"hasM": false,
"hasZ": false,
"objectIdField": "FID",
"uniqueIdField": {
"name": "FID",
"isSystemMaintained": true
},
"globalIdField": "GlobalID",
"typeIdField": "",
"fields": [
{
"name": "OBJECTID",
"type": "esriFieldTypeInteger",
"actualType": "int",
"alias": "OBJECTID",
"sqlType": "sqlTypeInteger",
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "TRL_NAME",
"type": "esriFieldTypeString",
"actualType": "nvarchar",
"alias": "TRL_NAME",
"sqlType": "sqlTypeNVarchar",
"length": 256,
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "PARK_NAME",
"type": "esriFieldTypeString",
"actualType": "nvarchar",
"alias": "PARK_NAME",
"sqlType": "sqlTypeNVarchar",
"length": 256,
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "TRL_ID",
"type": "esriFieldTypeInteger",
"actualType": "int",
"alias": "TRL_ID",
"sqlType": "sqlTypeInteger",
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "SEG_ID",
"type": "esriFieldTypeInteger",
"actualType": "int",
"alias": "SEG_ID",
"sqlType": "sqlTypeInteger",
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "FEATURE",
"type": "esriFieldTypeString",
"actualType": "nvarchar",
"alias": "FEATURE",
"sqlType": "sqlTypeNVarchar",
"length": 256,
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "FEAT_CMNT",
"type": "esriFieldTypeString",
"actualType": "nvarchar",
"alias": "FEAT_CMNT",
"sqlType": "sqlTypeNVarchar",
"length": 256,
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "ELEV_FT",
"type": "esriFieldTypeInteger",
"actualType": "int",
"alias": "ELEV_FT",
"sqlType": "sqlTypeInteger",
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "CITY_JUR",
"type": "esriFieldTypeString",
"actualType": "nvarchar",
"alias": "CITY_JUR",
"sqlType": "sqlTypeNVarchar",
"length": 256,
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "ZIP_CODE",
"type": "esriFieldTypeInteger",
"actualType": "int",
"alias": "ZIP_CODE",
"sqlType": "sqlTypeInteger",
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "SUP_DIST",
"type": "esriFieldTypeString",
"actualType": "nvarchar",
"alias": "SUP_DIST",
"sqlType": "sqlTypeNVarchar",
"length": 256,
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "X_STREET",
"type": "esriFieldTypeString",
"actualType": "nvarchar",
"alias": "X_STREET",
"sqlType": "sqlTypeNVarchar",
"length": 256,
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "PARKING",
"type": "esriFieldTypeString",
"actualType": "nvarchar",
"alias": "PARKING",
"sqlType": "sqlTypeNVarchar",
"length": 256,
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "PHOTO",
"type": "esriFieldTypeString",
"actualType": "nvarchar",
"alias": "PHOTO",
"sqlType": "sqlTypeNVarchar",
"length": 256,
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "LAT",
"type": "esriFieldTypeDouble",
"actualType": "float",
"alias": "LAT",
"sqlType": "sqlTypeFloat",
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "LON",
"type": "esriFieldTypeDouble",
"actualType": "float",
"alias": "LON",
"sqlType": "sqlTypeFloat",
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "FID",
"type": "esriFieldTypeOID",
"actualType": "int",
"alias": "FID",
"sqlType": "sqlTypeInteger",
"nullable": false,
"editable": false,
"domain": null,
"defaultValue": null
},
{
"name": "GlobalID",
"type": "esriFieldTypeGlobalID",
"alias": "GlobalID",
"sqlType": "sqlTypeOther",
"length": 38,
"nullable": false,
"editable": false,
"domain": null,
"defaultValue": "NEWID() WITH VALUES"
}
],
"indexes": [
{
"name": "PK__TRAILHEA__C1BEA5A2F8203E06",
"fields": "FID",
"isAscending": true,
"isUnique": true,
"description": "clustered, unique, primary key"
},
{
"name": "TRAILHEADS_TRAILHEADS_Shape_sidx",
"fields": "Shape",
"isAscending": false,
"isUnique": false,
"description": "Shape Index"
},
{
"name": "ELEV_FT_Index",
"fields": "ELEV_FT",
"isAscending": true,
"isUnique": false,
"description": "ELEV_FT_Index"
},
{
"name": "CITY_JUR_Index",
"fields": "CITY_JUR",
"isAscending": true,
"isUnique": false,
"description": "CITY_JUR_Index"
},
{
"name": "GlobalID_Index",
"fields": "GlobalID",
"isAscending": false,
"isUnique": true,
"description": ""
}
],
"dateFieldsTimeReference": {
"timeZone": "UTC",
"respectsDaylightSaving": false
},
"preferredTimeReference": null,
"types": [],
"templates": [
{
"name": "New Feature",
"description": "",
"drawingTool": "esriFeatureEditToolPoint",
"prototype": {
"attributes": {
"OBJECTID": null,
"TRL_NAME": null,
"PARK_NAME": null,
"FEATURE_ID": null,
"TRL_ID": null,
"SEG_ID": null,
"STG_AR_ID": null,
"SUB_TYPE": null,
"FEATURE": null,
"FEAT_CMNT": null,
"ELEV_FT": null,
"CITY_JUR": null,
"ZIP_CODE": null,
"SUP_DIST": null,
"X_STREET": null,
"X": null,
"Y": null,
"PARKING": null,
"PHOTO": null,
"TXT_E": null,
"LAT": null,
"LON": null,
"DB_ID": null,
"DIR_LAT": null,
"DIR_LON": null
}
}
}
],
"supportedQueryFormats": "JSON, geoJSON, PBF",
"supportedAppendFormats": "sqlite,geoPackage,shapefile,filegdb,featureCollection,geojson,csv,excel,jsonl",
"supportedExportFormats": "csv,shapefile,sqlite,geoPackage,filegdb,featureCollection,geojson,excel",
"supportedSpatialRelationships": [
"esriSpatialRelIntersects",
"esriSpatialRelContains",
"esriSpatialRelCrosses",
"esriSpatialRelEnvelopeIntersects",
"esriSpatialRelIndexIntersects",
"esriSpatialRelOverlaps",
"esriSpatialRelTouches",
"esriSpatialRelWithin",
"esriSpatialRelDisjoint",
"esriSpatialRelRelation"
],
"supportedContingentValuesFormats": "JSON, PBF",
"supportedSyncDataOptions": 4,
"hasStaticData": false,
"maxRecordCount": 2000,
"standardMaxRecordCount": 32000,
"standardMaxRecordCountNoGeometry": 32000,
"tileMaxRecordCount": 8000,
"maxRecordCountFactor": 1,
"capabilities": "Query,ChangeTracking"
}
Tutorials
Import data to create a feature layer
Use data management tools to import files and create a feature layer in a feature service.
Define a new feature layer
Use data management tools to define and create a new empty feature layer in a feature service.
Manage a feature layer
Use a hosted feature layer item to set the properties and settings of a feature layer in a feature service.
Create a vector tile service
Use data management tools to create a new vector tile service from a feature service.
Create a map tile service
Use ArcGIS Online or scripting APIs to publish a map tile service.
Workflows
Create a feature service for an app
Learn how to import parcel data, create and style a feature layer, and then access the features in an app.
Create a feature layer view for an editor app
Learn how to import parcel data, create and style a feature layer view, and then access the features in an editing app.
Create a vector tile service for an app
Learn how to import parcel data, style a feature layer, and then create a vector tile service for an app.
Create a map tile service for an app
Learn how to import contour data, style a feature layer, and create a map tile service for an app.
Services
Feature service
Add, update, delete, and query feature data.
Vector tile service
Store and access vector tile data.
Map tile service
Store and access map tile data.
Image service
Store and access imagery and raster data.
API support
Use data management tools or Client APIs to create, manage, and access data services. The table below outlines the level of support for each API.
- 1. Use portal class and direct REST API requests
- 2. Access via ArcGIS REST JS
- 3. Requires manually setting styles for renderers