- URL: https://<version-url>/differences
- Version Introduced:10.6
Description
The differences operation allows you to review the edits that have been made to the current version. The differences, or edits made, in the default version can also be reviewed between two moments. The output will provide the edits performed in each layer and return the changes in the following categories:
- Inserts—Features that have been created in the version that did not exist when the version was created
- Updates—Features that have been updated in the version
- Deletes—Features that have been deleted in the version that were present when the version was created
The differences operation is supported both synchronously and asynchronously.
Review the read and edit session requirements for version resource operations.
License:
Organization members must be assigned a license for the ArcGIS Advanced Editing user type extension to use this operation.Request parameters
Parameter | Details |
---|---|
f | The output response format. The default response format is html. This parameter is optional. Values: html | json |
sessionId | The client-generated sessionId (GUID). This parameter is required. Syntax : sessionId = {3F2504E0-4F89-41D3-9A0C-0305E82C3301} |
fromMoment | The moment of the version from which the differences will be obtained. This parameter returns the differences between the specified fromMoment and moment parameter values. This parameter is optional.
This parameter was introduced at ArcGIS Enterprise 10.9. Syntax : fromMoment = 1603109596000 |
moment | The moment used for the version to obtain the differences. If this parameter value is not provided, the current branch moment of the version will be used. This parameter is optional. The input moment must be greater than the version's common ancestor moment. In an edit session with unsaved edits, using a moment larger than the version's current moment will also return differences in the edit session. Syntax : moment = 1603109606000 |
resultType | Specifies the type of results that will be returned. The default result type is objectIds. This parameter is optional. Values : objectIds | features |
layers | The array of layer IDs for which differences will be returned. If no value is provided, the differences for all layers will be returned. This parameter is optional This parameter was introduced at ArcGIS Enterprise 10.9.1. Syntax: layers = [<long>] Example: layers = [6] |
async | Specifies whether the request will be processed asynchronously. If true, the request will be processed as an asynchronous job, and a URL will be returned that a client can visit to review the status of the job. The default is false. Values: true | false This parameter was introduced at ArcGIS Enterprise 10.9.1. |
outSR | The output spatial reference. This parameter is optional Syntax: {wkid=<wkid>} Example: outSR = {wkid=4326} This parameter was introduced at ArcGIS Enterprise 11.1. |
JSON Response syntax
JSON response (when async = false):{
"differences" : [
{
"layerId" : long,
"inserts" : [ <objectId> ],
"updates" : [ <objectId> ],
"deletes" : [ <objectId> ]
}
],
"features" : [
{
"layerId" : long,
"inserts" : [
{
"attributes" : {
"OBJECTID" : 581,
"SUBTYPE" : 3,
. . .
"SHAPE.STLength()" : 132.5
},
"geometry" : {
"hasZ" : true,
"hasM" : true,
"paths" : [
. . .
]
}
}
],
"updates" : [
],
"deletes" : [
]
}
],
"success" : <true | false>,
"error" : { // only if success is false
"extendedCode" : <HRESULT>,
"message" : "<error message>",
"details" : [ <detail> ]
}
}
JSON response (when async = true):
{
"statusUrl" : <url>
}
JSON response to the status URL (when pending or in progress):
{
"status" : "<Pending | InProgress>",
"submissionTime" : <datetime>,
"lastUpdatedTime" : <datetime>
}
Example usage
Use the differences operation to review the edits between a named version and the default version.
Request URL and parameters: https://myserver.esri.com/server/rest/services/LandUse/VersionManagementServer/versions/24417758-0DBD-4EC3-95B0-467CAA47FC43/differences JSON response:f=json
sessionId={638ed440-b81f-406c-bd5d-757c91dbfd70}
resultType=objectids
async=false
{
"differences": [
{
"layerId": 1,
"updates": [
21,
30
]
}
],
"success": true
}