- URL:
- https://<adminRoot>/services/<serviceName>/FeatureServer/updateDefinition
- Methods:
GET
Description
The update
operation supports updating a definition property in a hosted feature service. The result of this operation is a response indicating success or failure with an error code and a description.
New at 11.4
This operation now supports performing asynchronous requests for ArcGIS Enterprise hosted feature services.
Request parameters
Parameter | Description |
---|---|
| The service update to the service definition property in a feature service. |
| Support options for asynchronous processing. The default format is Values: |
| The response format. The default response format is Values: |
Example usage
https://services.myserver.com/OrgID/ArcGIS/rest/admin/services/example/FeatureServer/updateDefinition
Example one: Enable editor tracking and ownership access control in a feature service
The example below is a sample JSON object for the update
parameter that demonstrates how to enable editor tracking and ownership access control in a feature service. The following request is formatted for readability:
{
"editorTrackingInfo": {
"enableEditorTracking": true,
"enableOwnershipAccessControl": true,
"allowOthersToUpdate": true,
"allowOthersToDelete": false
}
}
Example two: Update feature service capability
The following example is a sample JSON object for the update
parameter that demonstrates how to update the feature service's capabilities:
{"capabilities":"Create,Query"}
Example three: Enable feature service sync
The following example is a sample JSON object for the update
parameter that demonstrates how to enable sync on a feature service:
{"syncEnabled": true}
Example four: Update feature service properties
The example below is a sample JSON object for the update
parameter that demonstrates how to update a feature service's properties. The following request is formatted for readability:
{
"name": "SanFrancisco2",
"hasStaticData": false,
"allowGeometryUpdates": "true",
"maxRecordCount": 2000,
"serviceDescription": "SanFrancisco2",
"description": "",
"copyrightText": "",
"units": "",
"xssPreventionInfo": {
"xssPreventionEnabled": true,
"xssPreventionRule": "InputOnly",
"xssInputRule": "rejectInvalid"
},
"initialExtent": {
"xmin": -122.514435102,
"ymin": 5.6843418860808E-14,
"xmax": 138.625776397,
"ymax": 67.1577965990001
}
}
Example five: Add the preferred time zone property
The example below is a sample JSON object for the update
parameter that demonstrates how to set the preferred time for a hosted feature service. The preferred time is the time zone the service author recommends clients to work in. Preferred time is used by newer clients, such as ArcGIS Pro 2.7 (and above), which defaults to working with date values in the preferred time reference.
Once the update completes, the feature service resource and all layer resources will have the preferred
set. To unset preferred
, run update
with "time
.
The following request is formatted for readability:
{
"preferredTimeReference": {
"timeZone": "Pacific Standard Time",
"respectsDaylightSaving": true
}
}
Example six: Update layer Overrides Enabled
In 8.4 feature service will support layer overrides of feature service behavior related to Capabilities, Allows
. Initial support will be in online feature service. Server and hosted enterprise will follow in later releases.
Parameter | Description |
---|---|
| Online feature service defaults this property to Values: |
Sync,ChangeTracking,Append,Extract Capabilities
The above capabilities cannot be overridden in any layer and always follow service capabilities and settings. The feature service guarantees layer capabilities will always follow the feature service as far as the above Capabilities/AllowsGeometryUpdate/OBAC.
Propagate Properties Changes:
The feature service properties (Capabilities, AllowsGeometryUpdate, OBAC) are propagated by default to all layers. If any of the Capabilities, AllowsGeometryUpdate, OBAC are overridden in any layer, then the overridden layer will preserve the overridden properties even if the feature service capabilities changes. New layers added to the feature service will inherit its properties from the feature service. Any changes on the feature service will be propagated to the new layers and the new layers capabilities can be overridden at any time after creation.
supportsLayerOverrides property:
TRUE
if it is supported by the server.- If this property is not returned by the server, it is
FALSE
. - Supports property is available on the layer and service metadata.
LayerOverridesEnabled property:
Example
https:
{
"LayerOverridesEnabled": false
}
Capabilities
Example
https:
{
"capabilities": "Create,Update,Delete"
}
AllowsGeometryUpdates:
Example
https:
{
"allowGeometryUpdates": true
}
OBAC:
Example
https:
{"ownershipBasedAccessControlForFeatures" : {
"allowOthersToQuery" : true,
"allowOthersToDelete" : true,
"allowOthersToUpdate" : true,
"allowAnonymousToQuery" : true,
"allowAnonymousToUpdate" : true,
"allowAnonymousToDelete" : true
}
}
Layer Overrides Metadata:
Layer metadata returns the list of properties that have been overridden on each layer.
Example
https:
"layerOverrides" : [
"allowGeometryUpdates",
"capabilities",
"ownershipBasedAccessControl"
]
JSON Response syntax
The example below reflects the syntax of a synchronous response:
{
"success": <true|false>,
"error": {
"code": <code>,
"message": "<description>",
"details": [
"<message>"
]
}
}
The example below reflects the syntax of an asynchronous response:
{"statusURL": “<response status URL>”}
JSON Response examples
Synchronous responses
When update
succeeds as a synchronous response:
{
"success": true
}
When update
fails as a synchronous response:
{
"error": {
"code": 400,
"message": "",
"details": [
"Unable to update feature service layer definition."
]
}
}
Asynchronous responses
When an update
request is submitted asynchronously, the response will include a status
, the value of which is a URL that can be accessed to check the status
of the request:
{
"statusURL": "https://machine.domain.com/ArcGIS/rest/admin/services/myhostedservice/FeatureServer/updateDefinition/5f4f34c6-2bcf-41c7-8bd1-ea777570ad23"
}
The URL can be used to periodically check the progress of the request, which is returned as the status
property. When the job completes, the response retrieved from the status URL will indicate whether the request completed successfully.
//success
{
"submissionTime":1726444564500,
"lastUpdatedTime":1726444568893,
"status":"Completed"
}
//failure
{
"submissionTime": 1726520769240,
"lastUpdatedTime": 1726520769773,
"status": "Failed",
"error": {
"code": 500,
"description": "Editing definition error - RCPerfTestOneWayAllRowsParent.DBO.Volcano_Roop "
}
}