License by API

Before you deploy your ArcGIS Maps SDK app into production, you are required to license it. Esri provides four ArcGIS Maps SDK license levels: Lite, Basic, Standard, and Advanced. The license levels required to use some parts of the API are determined by which members of the ArcGIS Maps SDK you are using, and in some cases the context you are using them for. The tables below clarify what license levels are needed.

There are tables below for Basic, Standard, and Advanced license levels. There are also tables listing items that need Analysis, StreetMap, and Advanced Editing extensions. If not listed in the tables below, then a Lite license is required.

Each table lists the parts of the API that require a license other than Lite and, in some cases, details about the kind of operation that requires that license level. If an item is listed without details, then any use of that item requires a license. Some items appear in more than one of these tables because a license level depends on the action being performed by the API.

Basic level

APIDetails
ArcGISFeature.addAttachment()When editing a private feature service or mobile geodatabase.
ArcGISFeature.deleteAttachment()When editing a private feature service or mobile geodatabase.
ArcGISFeature.deleteAttachments()When editing a private feature service or mobile geodatabase.
ArcGISFeature.updateAttachment()When editing a private feature service or mobile geodatabase.
FeatureCollection.save()
FeatureCollection.saveAs()
FeatureTable.addFeature()When editing a private feature service or mobile geodatabase.
FeatureTable.addFeatures()When editing a private feature service or mobile geodatabase.
FeatureTable.deleteFeature()When editing a private feature service or mobile geodatabase.
FeatureTable.deleteFeatures()When editing a private feature service or mobile geodatabase.
FeatureTable.updateFeature()When editing a private feature service or mobile geodatabase.
FeatureTable.updateFeatures()When editing a private feature service or mobile geodatabase.
ArcGISMap.save()
ArcGISMap.saveAs()
GeodatabaseSyncTask.createSyncGeodatabaseJob()When sync direction is bidirectional or upload, or while using a private feature service.
OfflineMapSyncTask.createOfflineMapSyncJob()When sync direction is bidirectional or upload, or while using a private feature service.
OfflineMapSyncJob.start() via the inherited:
Job.start()
When job specifies sync direction is bidirectional or upload, or while using a private feature service.
PortalItem.thumbnail() via the inherited:
Item.thumbnail()
PortalItem.shareWith()
PortalItem.shareWithGroups()
PortalItem.unshare()
PortalItem.unshareGroups()
PortalItem.updateContent()
PortalItem.updateItemProperties()
PortalUser.addPortalItem()
PortalUser.createFolder()
PortalUser.deleteFolder()
PortalUser.deletePortalItem()
PortalUser.movePortalItem()
PortalUser.movePortalItems()
RouteTracker.trackLocation()
SyncGeodatabaseJob.start() via the inherited:
Job.start()
When job specifies sync direction is bidirectional or upload, or while using a private feature service.

Standard level

APIDetails
ArcGISFeature.addAttachment()When editing a file geodatabase with a local feature service.
ArcGISFeature.deleteAttachment()When editing a file geodatabase with a local feature service.
ArcGISFeature.deleteAttachments()When editing a file geodatabase with a local feature service.
ArcGISFeature.updateAttachment()When editing a file geodatabase with a local feature service.
EncCell.load() via the inherited:
Loadable.load()
Note that load may be called indirectly by another method.
EncExchangeSet.load() via the inherited:
Loadable.load()
Note that load may be called indirectly by another method.
FeatureTable.addFeature()When editing a file geodatabase with a local feature service.
FeatureTable.addFeatures()When editing a file geodatabase with a local feature service.
FeatureTable.deleteFeature()When editing a file geodatabase with a local feature service.
FeatureTable.deleteFeatures()When editing a file geodatabase with a local feature service.
FeatureTable.updateFeature()When editing a file geodatabase with a local feature service.
FeatureTable.updateFeatures()When editing a file geodatabase with a local feature service.
GeoPackage.load() via the inherited:
Loadable.load()
Note that load may be called indirectly by another method.
ImageServiceRaster.load() via the inherited:
Loadable.load()
When RasterFunctions are specified
KmlDataset.load() via the inherited:
Loadable.load()
When accessing KML as a file resource.
KmlLayer.load() via the inherited:
Loadable.load()
When accessing KML as a file resource.
KmlNode.saveAs()When saving a KML node as a .KMZ file.
LineOfSightWhen this class is added to SceneView.analysisOverlays().
LocalServer is not available in ArcGIS Maps SDK for Kotlin
MosaicDatasetRaster.load() via the inherited:
Loadable.load()
Note that load may be called indirectly by another method.
Loadable.load()Note that load may be called indirectly by another method.
RasterElevationSource.load() via the inherited:
Loadable.load()
Note that load may be called indirectly by another method.
ShapefileFeatureTable.load() via the inherited:
Loadable.load()
Note that load may be called indirectly by another method.
ViewshedWhen this class is added to SceneView.analysisOverlays().

Advanced level

APIDetails
ArcGISFeature.addAttachment()When editing an enterprise geodatabase with a local feature service.
ArcGISFeature.deleteAttachment()When editing an enterprise geodatabase with a local feature service.
ArcGISFeature.deleteAttachments()When editing an enterprise geodatabase with a local feature service.
ArcGISFeature.updateAttachment()When editing an enterprise geodatabase with a local feature service.
FeatureTable.addFeature()When editing an enterprise geodatabase with a local feature service.
FeatureTable.addFeatures()When editing an enterprise geodatabase with a local feature service.
FeatureTable.deleteFeature()When editing an enterprise geodatabase with a local feature service.
FeatureTable.deleteFeatures()When editing an enterprise geodatabase with a local feature service.
FeatureTable.updateFeature()When editing an enterprise geodatabase with a local feature service.
FeatureTable.updateFeatures()When editing an enterprise geodatabase with a local feature service.

Analysis extension

APIDetails
ClosestFacilityTask.load() via the inherited:
Loadable.load()
ServiceAreaTask.load() via the inherited:
Loadable.load()

StreetMap Premium extensions

APIDetails
MobileMapPackage.load() via the inherited:
Loadable.load()
When opening a StreetMap Premium for ArcGIS Maps SDK mobile map package, appropriate regional license required.

Advanced Editing extension

APIDetails
ArcGISFeature.addAttachment()When editing features or tables in a version within a branch versioned geodatabase. This includes replicas generated by sync-enabled feature services backed by a branch versioned geodatabase.

When editing network features in a utility network.
ArcGISFeature.deleteAttachment()When editing features or tables in a version within a branch versioned geodatabase. This includes replicas generated by sync-enabled feature services backed by a branch versioned geodatabase.

When editing network features in a utility network.
ArcGISFeature.deleteAttachments()When editing features or tables in a version within a branch versioned geodatabase. This includes replicas generated by sync-enabled feature services backed by a branch versioned geodatabase.

When editing network features in a utility network.
ArcGISFeature.updateAttachment()When editing features or tables in a version within a branch versioned geodatabase. This includes replicas generated by sync-enabled feature services backed by a branch versioned geodatabase.

When editing network features in a utility network.
FeatureTable.addFeature()When editing features or tables in a version within a branch versioned geodatabase. This includes replicas generated by sync-enabled feature services backed by a branch versioned geodatabase.

When editing network features in a utility network.
FeatureTable.addFeatures()When editing features or tables in a version within a branch versioned geodatabase. This includes replicas generated by sync-enabled feature services backed by a branch versioned geodatabase.

When editing network features in a utility network.
FeatureTable.deleteFeature()When editing features or tables in a version within a branch versioned geodatabase. This includes replicas generated by sync-enabled feature services backed by a branch versioned geodatabase.

When editing network features in a utility network.
FeatureTable.deleteFeatures()When editing features or tables in a version within a branch versioned geodatabase. This includes replicas generated by sync-enabled feature services backed by a branch versioned geodatabase.

When editing network features in a utility network.
FeatureTable.updateFeature()When editing features or tables in a version within a branch versioned geodatabase. This includes replicas generated by sync-enabled feature services backed by a branch versioned geodatabase.

When editing network features in a utility network.
FeatureTable.updateFeatures()When editing features or tables in a version within a branch versioned geodatabase. This includes replicas generated by sync-enabled feature services backed by a branch versioned geodatabase.

When editing network features in a utility network.
ServiceGeodatabase.createVersion()When creating a new version in a branch versioned geodatabase.
UtilityNetwork.validateNetworkTopology()When validating topology in a utility network.
UtilityNetwork.addAssociation() When adding an association between two utility elements in a utility network.
UtilityNetwork.deleteAssociation() When deleting an association from a utility network.
UtilityNetwork.deleteAssociations() When deleting a collection of associations from a utility network.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.