- URL:
- https://<adminRoot>/services/<serviceName>/FeatureServer/<layerId>/addToDefinition
- Methods:
GET
Description
The add
operation supports adding a definition property in a hosted feature service layer. The result of this operation is a response indicating success or a response indicating failure with an error code and description.
New at 11.4
- This operation now supports performing asynchronous requests for ArcGIS Enterprise hosted feature services.
- This operation can create full text search indexes for hosted feature services.
- This operation can add subtypes to a hosted feature service layer.
Request parameters
Parameter | Details |
---|---|
| The |
| Supports 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/0/addToDefinition
Example one: Add fields to a feature service layer
Example two: Add indexes to a feature service layer
Example three: Add subtypes to a feature layer
Example four: Create full text search index for a feature layer
Example one
Below is a sample JSON object for the add
parameter that demonstrates how to add fields to a feature service layer:
{
"fields": [
{
"name": "GlobalID",
"type": "esriFieldTypeGlobalID",
"alias": "GlobalID",
"nullable": false,
"editable": false
},
{
"name": "date1",
"type": "esriFieldTypeDate",
"alias": "date1",
"nullable": true,
"editable": false,
"domain": null,
"defaultValue": "GetDate() WITH VALUES"
},
{
"name": "str2",
"type": "esriFieldTypeString",
"alias": "str2",
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": "'A' WITH VALUES"
}
]
}
Example two
Below is a sample JSON object for the add
parameter that demonstrates how to add indexes to a feature service layer:
{
"indexes": [
{
"name": "index1",
"fields": "GlobalID, date1",
"isUnique": false,
"isAscending": false,
"description": "index1"
},
{
"name": "index2",
"fields": "date1",
"isUnique": false,
"isAscending": false,
"description": "index2"
}
]
}
Example three
Below is a sample JSON object for the add
parameter that demonstrates how to add two additional subtype codes to a feature service layer. Before performing this request, the layer already had subtypes defined for the building type field with four subtype codes (1, 2, 3, 4).
{
"subtypes": [
{
"code": 5,
"name": "commercial",
"defaultValues": {
"textfield": "commercial warehouse",
"bldgtype": 5
},
"domains": {}
},
{
"code": 6,
"name": "school",
"defaultValues": {
"textfield": "university building",
"bldgtype": 5
},
"domains": {}
}
]
}
Example four
Below is a sample JSON object for the add
parameter that demonstrates creating a Full
index for a feature service layer. Full
indexes are only supported for layer fields with the type esri
.
{
"indexes": [
{
"name": "myFullText_indx",
"indexType": "FullText",
"fields": "city_name, state_city”,
"description": "Layer settings"
}
]
}
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 add
succeeds as a synchronous response:
{
"success": true
}
When add
fails as a synchronous response:
{
"error": {
"code": 400,
"message": "",
"details": [
"Unable to add feature service layer definition."
]
}
}
Asynchronous responses
When an add
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/0/addToDefinition/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 "
}
}