FRAMES | NO FRAMES Description | Parameters | Examples | Response
Update Features (Operation)
URL http://<featurelayer-url>/updateFeatures (POST only)
Parent Resource Layer

Description

This operation updates features in a feature layer or table (POST only). The update features operation is performed on a feature service layer resource. The result of this operation is an array of edit results. Each edit result identifies a single feature and indicates if the edits were successful or not. If not, it also includes an error code and an error description.

You can provide arguments to the Update Features operation as query parameters defined in the parameters table below.

Parameters

Parameter Details
f Description: The response format. The default response format is html.

Values: html | json | pjson
features Description: The array of features to be updated. The structure of each feature in the array is same as the structure of the json feature object.

The attributes property of the feature should include the object id of the feature along with the other attributes:
"attributes" : {
  "OBJECTID" : 37,
  "OWNER" : "Joe Smith",
  "VALUE" : 94820.37,
  "APPROVED" : true,
  "LASTUPDATE" : 1227667627940
}
Features to be updated to a feature layer should include the geometry.

Records to be added to a table should not include geometry.

Syntax: Example:
[
  {
    "geometry": {
      "x": -118.15,
      "y": 33.80,
      "spatialReference": {
        "wkid": 4326
      }
    },
    "attributes": {
      "OBJECTID": 37,
      "OWNER": "Joe Smith",
      "VALUE": 94820.37,
      "APPROVED": true,
      "LASTUPDATE": 1227667627940
    }
  },
  {
    "geometry": {
      "x": -118.37,
      "y": 34.086,
      "spatialReference": {
        "wkid": 4326
      }
    },
    "attributes": {
      "OBJECTID": 462,
      "OWNER": "John Doe",
      "VALUE": 17325.90,
      "APPROVED": false,
      "LASTUPDATE": 9269154204840
    }
  }
]
rollbackOnFailure Description: Optional parameter to specify if the edits should be applied only if all submitted edits succeed. If false, server will keep the edits that succeed even if some of the submitted edits fail. If true, server will keep the edits only if all edits succeed. Default value is false.

Syntax: rollbackOnFailure=true|false

Example: rollbackOnFailure=true

Example Usage

Example 1:  Update an array of features using the update features operation on a feature service layer resource:http://sampleserver10.arcgisonline.com/arcgis/rest/services/Utilities/FeatureServer/0/updateFeatures

Sample input array of features:

[
  {
    "geometry": {
      "x": -118.15,
      "y": 33.80,
      "spatialReference": {
        "wkid": 4326
      }
    },
    "attributes": {
      "OBJECTID": 37,
      "OWNER": "Joe Smith",
      "VALUE": 94820.37,
      "APPROVED": true,
      "LASTUPDATE": 1227667627940
    }
  }
]

JSON Response Syntax

{
  "updateResults" : [
    {
      "objectId" : <objectId1>,
      "globalId" : <globalId1>,
      "success" : <true | false>,
      "error" : { //only if success is false
        "code" : <code1>,
        "description" : "<description1>",
      }
    },
    {
      "objectId" : <objectId2>,
      "globalId" : <globalId2>,
      "success" : <true | false>,
      "error" : { //only if success is false
        "code" : <code2>,
        "description" : "<description2>",
      }
    }
  ]
}

JSON Response Example

{
  "updateResults" : [
    {
      "objectId" : 37,
      "success" : true
    },
    {
      "objectId" : 462,
      "success" : false, 
      "error" : 
      {
        "code" : 1006, 
        "description" : "The specified feature could not be updated or does not exist."
      }
    }
  ]
}