# Interface FeatureLayerJson

Feature layers can be created by referencing a layer from either a map service or a feature service or by specifying a feature collection object. Use a map service if you just want to retrieve geometries and attributes from the server and symbolize them yourself. Use a feature service if you want to take advantage of symbols from the service's source map document. Also, use a feature service if you plan on doing editing with the feature layer. Feature layers honor any feature templates configured in the source map document. Feature collection objects are used to create a feature layer based on the supplied definition.

See https://developers.arcgis.com/web-map-specification/objects/featureLayer/ https://developers.arcgis.com/web-scene-specification/objects/featureLayer/.

interface FeatureLayerJson {
blendMode?:
| "invert"
| "normal"
| "lighter"
| "multiply"
| "color"
| "average"
| "color-burn"
| "color-dodge"
| "darken"
| "destination-atop"
| "destination-in"
| "destination-out"
| "destination-over"
| "difference"
| "exclusion"
| "hard-light"
| "hue"
| "lighten"
| "luminosity"
| "minus"
| "overlay"
| "plus"
| "reflect"
| "saturation"
| "screen"
| "soft-light"
| "source-atop"
| "source-in"
| "source-out"
| "vivid-light"
| "xor";
capabilities?: string;
customParameters?: Record<string, unknown>;
definitionEditor?: DefinitionEditorJson;
disablePopup?: boolean;
effect?: EffectJson;
featureCollection?: FeatureCollectionJson;
featureCollectionType?: "route" | "markup" | "notes";
formInfo?: FormInfoJson;
id?: string;
itemId?: string;
layerDefinition?: LayerDefinitionJson;
layerType: "ArcGISFeatureLayer";
listMode?: "show" | "hide" | "hide-children";
maxScale?: number;
minScale?: number;
mode?:
| 0
| 1
| 2
| 6;
opacity?: number;
popupInfo?: PopupInfoJson;
refreshInterval?: number;
screenSizePerspective?: boolean;
showLabels?: boolean;
showLegend?: boolean;
subtypeCode?: string | number;
timeAnimation?: boolean;
title?: string;
type?: LegacyOperationalLayerJsonType | LegacyBasemapLayerJsonType;
url?: string;
visibility?: boolean;
visibilityTimeExtent?: [number, number];
visibleLayers?: number[];
}

#### Hierarchy (view full)

- OperationalLayerJsonBase
  - FeatureLayerJson
    - FeatureLayerBaseProperties

#####
Index

### Properties

blendMode?
capabilities?
customParameters?
definitionEditor?
disablePopup?
effect?
featureCollection?
featureCollectionType?
formInfo?
id?
itemId?
layerDefinition?
layerType
listMode?
maxScale?
minScale?
mode?
opacity?
popupInfo?
refreshInterval?
screenSizePerspective?
showLabels?
showLegend?
subtypeCode?
timeAnimation?
title?
type?
url?
visibility?
visibilityTimeExtent?
visibleLayers?

##
Properties

### `Optional` blendMode

blendMode?:
| "invert"
| "normal"
| "lighter"
| "multiply"
| "color"
| "average"
| "color-burn"
| "color-dodge"
| "darken"
| "destination-atop"
| "destination-in"
| "destination-out"
| "destination-over"
| "difference"
| "exclusion"
| "hard-light"
| "hue"
| "lighten"
| "luminosity"
| "minus"
| "overlay"
| "plus"
| "reflect"
| "saturation"
| "screen"
| "soft-light"
| "source-atop"
| "source-in"
| "source-out"
| "vivid-light"
| "xor"

Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.

Inherited from OperationalLayerJsonBase.blendMode

### `Optional` capabilities

capabilities?: string

A comma-separated string listing which editing operations are allowed on an editable feature service. Available operations include: Create | Delete | Query | Update | Editing.

### `Optional` customParameters

customParameters?: Record<string, unknown>

A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS layer types.

### `Optional` definitionEditor

definitionEditor?: DefinitionEditorJson

Stores interactive filters.

### `Optional` disablePopup

disablePopup?: boolean

Indicates whether to allow a client to ignore popups defined by the service item.

### `Optional` effect

effect?: EffectJson

Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work.

Inherited from OperationalLayerJsonBase.effect

### `Optional` featureCollection

featureCollection?: FeatureCollectionJson

A featureCollection object defining a layer of features whose geometry and attributes will be stored directly within the web map. This is only used when no url property is supplied.

### `Optional` featureCollectionType

featureCollectionType?: "route" | "markup" | "notes"

Indicates the type of features in the feature collection. If featureCollectionType is missing, it means the feature collection is a regular single-layer or multi-layer feature collection.

### `Optional` formInfo

formInfo?: FormInfoJson

A formInfo object defining the content of the form when you are editing a feature.

### `Optional` id

id?: string

A unique identifying string for the layer.

Inherited from OperationalLayerJsonBase.id

### `Optional` itemId

itemId?: string

Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.

### `Optional` layerDefinition

layerDefinition?: LayerDefinitionJson

A layerDefinition object defining the attribute schema and drawing information for the layer.

### layerType

layerType

The type of layer.

Overrides OperationalLayerJsonBase.layerType

### `Optional` listMode

listMode?: "show" | "hide" | "hide-children"

Indicates how the layer should display in the table of contents. The known values are listed below. See support/esri!ListMode.

Inherited from OperationalLayerJsonBase.listMode

### `Optional` maxScale

maxScale?: number

A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.

Inherited from OperationalLayerJsonBase.maxScale

### `Optional` minScale

minScale?: number

A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.

Inherited from OperationalLayerJsonBase.minScale

### `Optional` mode

mode?:
| 0
| 1
| 2
| 6

Used with ArcGIS feature services and individual layers in ArcGIS map services, this property determines how the features are retrieved from the server. This property is represented as 0, 1, or 2.

- 0: Snapshot mode. Immediately retrieves all features when the map is loaded.
- 1: On-demand mode. Features within the current view extent are retrieved as the user navigates the map. This is the default and the most common way to use feature services in web maps.
- 2: Selection-only mode. No features are initially retrieved. This mode is used when you have a map service and a feature service from the same parent URL that are working together in the same map, with the map service being used for display and the feature service used for editing.

### `Optional` opacity

opacity?: number

The degree of transparency applied to the layer on the client side, where 0 is full transparency and 1 is no transparency.

Inherited from OperationalLayerJsonBase.opacity

### `Optional` popupInfo

popupInfo?: PopupInfoJson

A PopupInfo object defining the content of pop-up windows when you click or query a feature.

### `Optional` refreshInterval

refreshInterval?: number

When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm.

Inherited from OperationalLayerJsonBase.refreshInterval

### `Optional` screenSizePerspective

screenSizePerspective?: boolean

Apply perspective scaling to screen-size symbols.

### `Optional` showLabels

showLabels?: boolean

Indicates whether to display labels for this layer. If true, labels will appear as defined in the labelingInfo property.

### `Optional` showLegend

showLegend?: boolean

Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.

Inherited from OperationalLayerJsonBase.showLegend

### `Optional` subtypeCode

subtypeCode?: string | number

The feature subtype code identifying the layer. Used with SubtypeGroupLayers.

### `Optional` timeAnimation

timeAnimation?: boolean

Indicates whether to disable time animation if the layer supports it.

### `Optional` title

title?: string

A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.

Inherited from OperationalLayerJsonBase.title

### `Optional` type

type?: LegacyOperationalLayerJsonType | LegacyBasemapLayerJsonType

(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.

Inherited from OperationalLayerJsonBase.type

### `Optional` url

url?: string

The URL to the layer.If the layer is not from a web service but rather a feature collection, than the url property is omitted.

### `Optional` visibility

visibility?: boolean

Determines whether the layer is initially visible in the web map.

Inherited from OperationalLayerJsonBase.visibility

### `Optional` visibilityTimeExtent

visibilityTimeExtent?: [number, number]

Represents time extent that will control when a layer should be visible based on webmap's current time. Visibility time extent only affects the layer visibility and will not filter the data.

Inherited from OperationalLayerJsonBase.visibilityTimeExtent

### `Optional` visibleLayers

visibleLayers?: number[]

An array of sublayer ids that should appear visible. Used with feature layers that are based on feature collections.