Types
import type { DataCapabilities, SyncDataOptions, SyncCapabilities, OperationCapabilities, QueryCapabilities } from "@arcgis/core/rest/featureService/types.js";

Type definitions

DataCapabilities

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0

isDataVersioned

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates if the feature service is versioned.

isDataBranchVersioned

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates if the feature service is branch versioned.

supportsTrueCurve

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates if the service supports geometries with true curves.

supportedCurveTypes

Property
Type
readonly CurveType[]
Since
ArcGIS Maps SDK for JavaScript 5.0

The types of true curves the service supports.

SyncDataOptions

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0

annotations

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether annotations should be included in the sync data.

dimensions

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether dimensions should be included in the sync data.

contingentValues

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether contingent values should be included in the sync data.

attributeRules

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether attribute rules should be included in the sync data.

utilityNetworkSystem

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether the utility network system should be included in the sync data.

annotationFullModel

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether the full annotation model should be included in the sync data.

include3DObjects

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether 3D objects should be included in the sync data.

utilityNetworkMissingLayers

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether missing utility network layers should be included in the sync data.

preserveTrueCurves

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether true curves should be preserved in the sync data.

SyncCapabilities

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0

supportsAsync

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether the service supports asynchronous synchronization.

supportedSyncDataOptions

Property
Type
SyncDataOptions
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates the supported sync data options for the service

OperationCapabilities

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0

supportsAdd

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates if new features can be added to the service.

supportsChangeTracking

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether the service supports change tracking for features.

supportsDelete

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates if features can be deleted from the service.

supportsEditing

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates if features in the service can be edited. Use supportsAdd, supportsUpdate and supportsDelete to determine which editing operations are supported.

supportsQuery

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates if features in the service can be queried.

supportsQueryDataElements

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether the service supports querying data elements.

supportsQueryDomains

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether the service supports querying domains.

supportsQueryContingentValues

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether the service supports querying contingent values.

supportsSync

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether the service supports synchronization.

supportsUpdate

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether the service supports updating features.

QueryCapabilities

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0

maxRecordCount

Property
Type
number | null | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The maximum number of records that will be returned for a given query.

maxRecordCountFactor

Property
Type
number | null | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

This property is used to limit the number of records returned based on a factor of the query.maxRecordCount.

supportsTrueCurveWithPBF

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Whether PBF-encoded true curves are supported.

EditingCapabilities

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0

supportsAsyncApplyEdits

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates if the service supports async apply edits.

supportsGlobalId

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates if the globalId values provided by the client are used in FeatureService.applyEdits().

supportsReturnServiceEditsInSourceSpatialReference

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates that the service supports returning edits in the source spatial reference of the layer they belong to.

supportsSplit

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether the service supports splitting features.

supportsTrueCurveUpdate

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates if feature geometries containing true curves can be updated.

supportsTrueCurveUpdateByTrueCurveClientsOnly

Property
Type
boolean
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether updates to true curves should be restricted to clients that support true editing. If true, applyEdits calls that update true curves must have the trueCurveClient parameter set to true.

ServiceCapabilities

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.28

Describes the layer's supported capabilities.

data

Property
Type
DataCapabilities
Since
ArcGIS Maps SDK for JavaScript 5.0

Describes characteristics of the data in the service.

operations

Property
Type
OperationCapabilities
Since
ArcGIS Maps SDK for JavaScript 5.0

Describes operations that can be performed on features in the layer.

query

Property
Type
QueryCapabilities
Since
ArcGIS Maps SDK for JavaScript 5.0

Describes Query operations that can be performed on the Feature Service.

editing

Property
Type
EditingCapabilities
Since
ArcGIS Maps SDK for JavaScript 5.0

Describes editing capabilities that can be performed on the features in the layer via FeatureService.applyEdits().

sync

Property
Type
SyncCapabilities
Since
ArcGIS Maps SDK for JavaScript 5.0

Describes the synchronization capabilities of a service.

FeatureServiceResourcesBundle

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.28

Results returned from the createFeatureServices() method.

featureService

Property
Type
FeatureService
Since
ArcGIS Maps SDK for JavaScript 5.0

Returns a featureService object.

layers

Property
Type
(FeatureLayer | SubtypeGroupLayer | AnnotationFeatureLayer | DimensionFeatureLayer)[]
Since
ArcGIS Maps SDK for JavaScript 5.0

An array of FeatureLayers

TableInfo

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.30

Contains information for a table in the Feature Service.

id

Property
Type
number
Since
ArcGIS Maps SDK for JavaScript 5.0

The id of a table.

name

Property
Type
string
Since
ArcGIS Maps SDK for JavaScript 5.0

The name of a table.

type

Property
Type
string
Since
ArcGIS Maps SDK for JavaScript 5.0

The type of the table.

url

Property
Type
string
Since
ArcGIS Maps SDK for JavaScript 5.0

The service url

LayerInfo

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.30

Contains information for a layer in the Feature Service.

Supertypes
TableInfo

geometryType

Property
Type
GeometryType | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The geometry type of a layer.

LayerDefinition

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.30

Contains information for a layer in the Feature Service.

Supertypes
LayerInfo

capabilities

Property
Type
FeatureLayerCapabilities
Since
ArcGIS Maps SDK for JavaScript 5.0

The capabilities of the layer.

TableDefinition

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.30

Contains information for a table in the Feature Service.

Supertypes
TableInfo

capabilities

Property
Type
FeatureLayerCapabilities
Since
ArcGIS Maps SDK for JavaScript 5.0

The capabilities of the table.

ServiceContents

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.30

Contains information returned from the service containing layerInfos, tableInfos, and server capabilities.

layers

Property
Type
LayerDefinition[]
Since
ArcGIS Maps SDK for JavaScript 5.0

Contains the Layer Definition of a layer.

tables

Property
Type
TableDefinition[]
Since
ArcGIS Maps SDK for JavaScript 5.0

Contains the Table Definition of a layer.

DeleteAssociationEdit

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.34
beta

Specifies a traditional or foreign-key association to delete.

This object can be used in three ways:

  1. Specify all fields: Can delete any association, globalId can optionally be specified for traditional associations for improved performance.
  2. Only global ID: Can only delete traditional associations with non-null global IDs.
  3. Omit global ID: Primarily used to delete foreign-key associations. Can also delete traditional associations, but with reduced performance.

DeleteAssociationEditAllFields

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0
beta

Specifies a traditional or foreign-key association to delete. To delete a foreign-key association, globalId must be the null GUID {00000000-0000-0000-0000-000000000000}. When deleting a traditional association, globalId is optional, but improves performance when specified.

globalId

Property
Type
string
Since
ArcGIS Maps SDK for JavaScript 5.0

The global ID of the association to delete.

associationType

Property
Type
AssociationJsonType
Since
ArcGIS Maps SDK for JavaScript 5.0

The type of association.

fromSourceId

Property
Type
number
Since
ArcGIS Maps SDK for JavaScript 5.0

The source ID of the "from" feature.

fromGlobalId

Property
Type
string
Since
ArcGIS Maps SDK for JavaScript 5.0

The global ID of the "from" feature.

fromTerminalId

Property
Type
number | null | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The terminal ID of the "from" feature.

toSourceId

Property
Type
number
Since
ArcGIS Maps SDK for JavaScript 5.0

The source ID of the "to" feature.

toGlobalId

Property
Type
string
Since
ArcGIS Maps SDK for JavaScript 5.0

The global ID of the "to" feature.

toTerminalId

Property
Type
number | null | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The terminal ID of the "to" feature.

DeleteAssociationEditOnlyGlobalId

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0
beta

Specifies a traditional association to delete by the association's global ID.

Supertypes
Pick<DeleteAssociationEditAllFields‚ "globalId">

DeleteAssociationEditOmitGlobalId

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0
beta

Specifies a foreign-key association to delete. Can also be used to delete a traditional association, but is less efficient than specifying the traditional association's global ID.

Supertypes
Omit<DeleteAssociationEditAllFields‚ "globalId">

CombineGroupedObjectsEdit

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.34
beta

Specifies grouped objects to combine in a telecom domain network.

globalIds

Property
Type
string[]
Since
ArcGIS Maps SDK for JavaScript 5.0

The global IDs of the grouped features to combine. The objects being combined must have consecutive unit IDs, exist in the same table and unit container, and have the same attribute values.

DivideGroupedObjectsEdit

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.34
beta

Specifies a grouped object to divide, and the units to divide the object into.

globalId

Property
Type
string
Since
ArcGIS Maps SDK for JavaScript 5.0

The global ID of the grouped object to divide.

numUnits

Property
Type
number[]
Since
ArcGIS Maps SDK for JavaScript 5.0

The units to divide the grouped object into. Each number in this array describes the number of units to assign an object resulting from the division. E.g., to divide one object with 6 units into an object with 5 units and another object with 1 unit, specify [5, 1].

ServiceEdits

Type definition
Supertypes
Edits

id

Property
Type
number
Since
ArcGIS Maps SDK for JavaScript 5.0

The layerId of the feature layer.

deleteAssociations

Property
Type
DeleteAssociationEdit[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

An array of objects specifying traditional or foreign-key associations to delete.

Each object can be type DeleteAssociationEditAllFields, DeleteAssociationEditOnlyGlobalId, or DeleteAssociationEditOmitGlobalId, depending on the association to delete.

combineGroupedObjects

Property
Type
CombineGroupedObjectsEdit[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

An array of objects specifying grouped objects to combine in a telecom domain network. The objects being combined must have consecutive unit IDs, exist in the same table and unit container, and have the same attribute values.

divideGroupedObjects

Property
Type
DivideGroupedObjectsEdit[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

An array of objects specifying a grouped objects to divide, and the units to divide the objects into, in a telecom domain network.

identifierFields

Property
Type
ServiceEditsIdentifierFields | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Identifier for globalId and objectId.

ServiceEditsIdentifierFields

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0

globalIdField

Property
Type
string | null | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The globalId identifier.

objectIdField

Property
Type
string
Since
ArcGIS Maps SDK for JavaScript 5.0

The objectId identifier.

ServiceEditOptions

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0

editsRespectTrueCurves

Property
Type
boolean | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Attests that the edits were prepared in a way that avoids the loss of true curve geometries. An app should only set this parameter to true if it can guarantee that the entire client-side chain of custody handles true curves properly.

Setting this parameter is only necessary when the feature service is configured to restrict updating of true curve geometries to clients that explicitly indicate support for true curve editing.

Considerations for curve-aware editing include:

  • Prior to editing, the feature must be obtained from the service with its true curves intact, e.g. by a query with the Query.returnTrueCurves parameter set to true.
  • Ensure all spatial operations performed on the geometry preserve curves — i.e., avoids densifying curves into linear approximations.
  • Beware of code that references a geometry's Polygon.rings or Polyline.paths properties directly. Curve-aware iteration over the vertices of a geometry requires a conditional logic whereby Polygon.curveRings or Polyline.curvePaths are used when defined, and Polygon.rings or Polyline.paths are used otherwise.

gdbVersion

Property
Type
string | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

The geodatabase version to apply the edits. This parameter applies only if the capabilities.data.isDataVersioned property of the layer is true.

globalIdUsed

Property
Type
boolean | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Indicates whether the edits can be applied using globalIds of features or attachments. This parameter applies only if the layer's capabilities.editing.supportsGlobalId property is true. When false, globalIds submitted with the features are ignored and the service assigns new globalIds to the new features. When true, the globalIds must be submitted with the new features. When updating existing features, if the globalIdUsed is false, the objectIds of the features to be updated must be provided. If the globalIdUsed is true, globalIds of features to be updated must be provided. When deleting existing features, set this property to false as deletes operation only accepts objectIds at the current version of the API.

When adding, updating or deleting attachments, globalIdUsed parameter must be set to true and the attachment globalId must be set. For new attachments, the user must provide globalIds. In order for an attachment to be updated or deleted, clients must include its globalId. Attachments are not supported in an edit payload when globalIdUsed is false.

honorSequenceOfEdits

Property
Type
boolean | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Added at 10.5 and works with ArcGIS Server services only. This parameter specifies whether to apply edits in the order they are submitted in the JSON. If true, edits will apply in the submitted order. If false, which is the default, edits will apply in ascending layer-ID order. All the edits for the layer with the lowest ID will apply first. The honorSequenceOfEdits option controls the execution order of edit operations across the edit arrays, not the execution order of individual features within a single edit operation.

Example
// Updating multiple features with a single edit object. Execution order of individual updates is not guaranteed
[
{
id: 21,
updateFeatures: [
{ attributes: { objectid: 71816, isMain: 0 } },
{ attributes: { objectid: 71416, isMain: 1 } }
]
}
]
// Updating multiple features with multiple edit objects to guarantee execution order of individual updates
[
{
id: 21,
updateFeatures: [
{ attributes: { objectid: 71816, isMain: 0 } }
]
},
{
id: 21,
updateFeatures: [
{ attributes: { objectid: 71416, isMain: 1 } }
]
}
]

usePreviousEditMoment

Property
Type
boolean | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

This option was added at 10.6. This is set by a client during long transaction editing on a branch version. This parameter is used to apply the edits with the same edit moment as the previous set of edits. This allows an editor to apply a single block of edits partially, complete another task, and then complete the block of edits. When set to true, the edits are applied with the same edit moment as the previous sets of edits. When set to false the edits are applied with a new edit moment. By default, this parameter is set to false.

DivideGroupedObjectResult

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.34
beta

Represents the result of dividing a grouped object in a telecom domain network.

globalId

Property
Type
string
Since
ArcGIS Maps SDK for JavaScript 5.0

Global ID of the original object before division.

dividedGlobalIds

Property
Type
string[]
Since
ArcGIS Maps SDK for JavaScript 5.0

The global IDs of objects resulting from the division, including the original object. I.e., the GUIDs that the target object was divided into.

connectedEdgeGlobalIds

Property
Type
string[]
Since
ArcGIS Maps SDK for JavaScript 5.0

If the divided object was a junction object that was directly connected to one or more edge objects prior to the division, the edge objects are also divided to maintain connectivity. This array contains GUIDs of any edge objects that are connected to the divided junction objects, including those that were connected prior to the division.

CombineGroupedObjectResult

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.34
beta

Represents the result of combining one or more grouped objects in a telecom domain network.

combinedGlobalId

Property
Type
string
Since
ArcGIS Maps SDK for JavaScript 5.0

The global ID of the object resulting from the combine operation.

deletedGlobalIds

Property
Type
string[]
Since
ArcGIS Maps SDK for JavaScript 5.0

The global IDs of the objects deleted to perform the combination.

ServiceEditsResult

Type definition
Since
ArcGIS Maps SDK for JavaScript 4.28

Results returned from the FeatureService.applyEdits() method. It contains features that were added, deleted or updated in different feature layers. It also contains the edit moment.

id

Property
Type
number
Since
ArcGIS Maps SDK for JavaScript 5.0

The layerId of the feature layer where features were edited.

addFeatureResults

Property
Type
FeatureEditResult[]
Since
ArcGIS Maps SDK for JavaScript 5.0

Results returned from an add operation.

updateFeatureResults

Property
Type
FeatureEditResult[]
Since
ArcGIS Maps SDK for JavaScript 5.0

Results returned from an update operation.

deleteFeatureResults

Property
Type
FeatureEditResult[]
Since
ArcGIS Maps SDK for JavaScript 5.0

Results returned from a delete operation.

divideGroupedObjectResults

Property
Type
DivideGroupedObjectResult[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Results returned from a divide operation.

combineGroupedObjectResults

Property
Type
CombineGroupedObjectResult[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Results returned from a combine operation.

splitsResults

Property
Type
SplitsResult[] | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Results returned from a split operation.

addAttachmentResults

Property
Type
FeatureEditResult[]
Since
ArcGIS Maps SDK for JavaScript 5.0

Results returned from an add attachments operation.

updateAttachmentResults

Property
Type
FeatureEditResult[]
Since
ArcGIS Maps SDK for JavaScript 5.0

Results returned from an update attachments operation.

deleteAttachmentResults

Property
Type
FeatureEditResult[]
Since
ArcGIS Maps SDK for JavaScript 5.0

Results returned from a delete attachments operation.

editedFeatures

Property
Type
EditedFeatures | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Object containing all edited features belonging to the specified layer.

editMoment

Property
Type
number | undefined
Since
ArcGIS Maps SDK for JavaScript 5.0

Returns the editMoment of an edit.

SplitsResult

Type definition
Since
ArcGIS Maps SDK for JavaScript 5.0

Represents the result of a split operation.

objectId

Property
Type
number
Since
ArcGIS Maps SDK for JavaScript 5.0

The object ID of the feature that was split.

results

Property
Type
number[]
Since
ArcGIS Maps SDK for JavaScript 5.0

The object ID of the original feature and the feature(s) created from the split.