- URL:
- https://<root>/<serviceName>/GPServer/GetToolInfo/execute
- Methods:
- GET- POST
Description
The Utilities service contains tools that provide auxiliary information for working with network analysis services available with ArcGIS Enterprise. Currently, the Utilities service contains two tools, Get and Get. The Get tool provides information such as the description of the network dataset used for the analysis and processing limits for a tool available in the geoprocessing service.
Request parameters
| Parameter | Description | 
|---|---|
| (Required) | Specify the service name containing the tool. | 
| (Required) | Specify the tool name in the geoprocessing service. | 
| (Required) | Provide the identity of a user who has the necessary permissions to access the service. | 
| (Required) | The response value. The default value is  Values:  | 
| (Optional) | Specify whether the information of all the source feature classes that participate in the network dataset will be included. The default value is  Values:  | 
Required parameters
The Get  request takes service  and tool  parameters, which are both required.
serviceName
Specify the service name containing the tool. Use one of the following keywords that reference a particular geoprocessing service in the parameter value:
- async—The asynchronous geoprocessing service used to perform the closest facility analysis.- Closest - Facility 
- async—The asynchronous geoprocessing service used to perform the location-allocation analysis.- Location - Allocation 
- async—The asynchronous geoprocessing service used to perform the route analysis.- Route 
- async—The asynchronous geoprocessing service used to perform the service area analysis.- Service - Area 
- async—The asynchronous geoprocessing service used to perform the vehicle routing problem analysis.- VRP 
- sync—The synchronous geoprocessing service used to perform the vehicle routing problem analysis.- VRP 
- async—The asynchronous geoprocessing service used to perform the origin destination cost matrix analysis.- ODCost - Matrix 
The default value is async .
toolName
Specify the tool name in the geoprocessing service. Use a valid tool name in the geoprocessing service specified by the service  parameter. The following are valid tool names:
- Findfor the- Closest - Facilities - asyncservice- Closest - Facility 
- Solvefor the- Location - Allocation - asyncservice- Location - Allocation 
- Findfor the- Routes - Routeservice
- Generatefor the- Service - Areas - asyncservice- Service - Area 
- Solvefor the- Vehicle - Routing - Problem - asyncservice- VRP 
- Editfor the- Vehicle - Routing - Problem - syncservice- VRP 
- Generatefor the- Origin - Destination - Cost - Matrix - asyncservice- ODCost - Matrix 
The default value is Find .
includeNetworkSourceInfo
Specify whether the information of all the source feature classes that participate in the network dataset will be included.
- 
true: Information such as the name, type, ID, and the schema for all the source feature classes that participate in the network dataset will be included.
- 
false: The information will not be included. This is the default.
The default value is false .
token
Use this parameter to specify a token that provides the identity of a user that has the permissions to access the service. The security and authentication page provides more information about how an access token can be obtained.
token=<yourToken>f
Use this parameter to specify the response format. The parameter can have json  or pjson  as arguments, for example, f=json . The pjson  value is used for printing the JSON response in a pretty format.
Output parameters
Upon successful completion, the service returns the tool information, which contains the network dataset and the service limits for the tool.
toolInfo
Use this parameter to a get a description of the network dataset used for the analysis and processing limits for a tool available in the geoprocessing service.
Syntax example for toolInfo
The tool  parameter is returned as a JSON feature set with the following syntax:
{
  "paramName": "toolInfo",
  "dataType": "GPRecoGPStringrdSet",
  "value": {
    "networkDataset": {
    "attributeParameterValues": [
      {
        "attributeName": "<field1AttributeName>",
        "parameterName": "<field1ParameterName>",
        "parameterType": "<field1Type>",
        "value": "<field1Value>"
      },
      {
        "attributeName": "<field2AttributeName>",
        "parameterName": "<field2ParameterName>",
        "parameterType": "<field2Type>",
        "value": "<field2Value>"
      }
    ],
    "networkAttributes": [
      {
        "dataType": "<field1DataType>",
        "name": "<field1Name>",
        "parameterNames": "<field1ParameterNames>",
        "restrictionUsageParameterName": "<field1RestrictionUsageParameterName>",
        "trafficSupport": <trafficSupport1Value>,
        "units": <field1Units>,
        "usageType": <field1UsageType>
      },
      {
        "dataType": "<field2DataType>",
        "name": "<field2Name>",
        "parameterNames": "<field2ParameterNames>",
        "restrictionUsageParameterName": "<field2RestrictionUsageParameterName>",
        "trafficSupport": <trafficSupport2Value>,
        "units": <field2Units>,
        "usageType": <field2UsageType>
      }
    ],
    "trafficSupport": <value>,
    "serviceLimits": {
      "<field1>": <value11>,
      "<field2>": <value12>
    }
  }
}Example for toolInfo
The following is an example of the tool  parameter:
{
  "paramName": "toolInfo",
  "dataType": "GPString",
  "value": {
    "networkDataset": {
      "attributeParameterValues": [
        {
          "attributeName": "Avoid Limited Access Roads",
          "parameterName": "Restriction Usage",
          "parameterType": "Double",
          "value": "AVOID_MEDIUM"
        },
        {
          "attributeName": "Avoid Ferries",
          "parameterName": "Restriction Usage",
          "parameterType": "Double",
          "value": "AVOID_MEDIUM"
        },
        {
          "attributeName": "Avoid Unpaved Roads",
          "parameterName": "Restriction Usage",
          "parameterType": "Double",
          "value": "AVOID_HIGH"
        }
      ],
      "networkAttributes": [
        {
          "dataType": "Integer",
          "name": "Hierarchy",
          "parameterNames": [],
          "restrictionUsageParameterName": null,
          "trafficSupport": "NONE",
          "units": "Unknown",
          "usageType": "Hierarchy"
        },
        {
          "dataType": "Double",
          "name": "Minutes",
          "parameterNames": [],
          "restrictionUsageParameterName": null,
          "trafficSupport": "NONE",
          "units": "Minutes",
          "usageType": "Cost"
        },
        {
          "dataType": "Integer",
          "name": "RoadClass",
          "parameterNames": [],
          "restrictionUsageParameterName": null,
          "trafficSupport": "NONE",
          "units": "Unknown",
          "usageType": "Descriptor"
        }
      ],
      "trafficSupport": "HISTORICAL_AND_LIVE"
    },
    "serviceLimits": {
      "forceHierarchyBeyondDistance": 50.0,
      "forceHierarchyBeyondDistanceUnits": "Miles",
      "maximumFeaturesAffectedByLineBarriers": 500.0,
      "maximumFeaturesAffectedByPointBarriers": 250.0,
      "maximumFeaturesAffectedByPolygonBarriers": 2000.0,
      "maximumStops": 10000.0,
      "maximumStopsPerRoute": 150.0
    }
  }
}Example usage
Below is a sample request URL that demonstrates how to get to the Get  tool from the Utilities service using the URL in the following form:
https:///GetToolInfo/execute?parametersThis example demonstrates how to get the tool info for the Solve  tool.
GetToolInfo request example
|  | 
JSON Response syntax
The request to the Get  tool returns a JSON response that contains any warning messages from the service operation as well as a value for the output parameter tool . If the request fails to run, the response only contains the error  property that contains the error messages.
JSON Response syntax for successful requests
{
  "results": [
    {
      "paramName": "<paramName1>",
      "dataType": "<dataType1>",
      "value": <valueLiteralOrObject1>
    }
  ],
  "messages": [
    {
      "type": "<type1>",
      "description": "<description1>"
    },
    {
      "type": "<type2>",
      "description": "<description2>"
    }
  ]
}JSON Response syntax for failed requests
{
  "error": {
    "code": <code>,
    "message": "<message>",
    "details": [
      "<details>"
    ]
  }
}JSON Response example
{
  "results": [
    {
      "paramName": "toolInfo",
      "dataType": "GPString",
      "value": {
        "networkDataset": {
          "attributeParameterValues": [
            {
              "attributeName": "Avoid Limited Access Roads",
              "parameterName": "Restriction Usage",
              "parameterType": "Double",
              "value": "AVOID_MEDIUM"
            },
            {
              "attributeName": "Avoid Ferries",
              "parameterName": "Restriction Usage",
              "parameterType": "Double",
              "value": "AVOID_MEDIUM"
            },
            {
              "attributeName": "Avoid Unpaved Roads",
              "parameterName": "Restriction Usage",
              "parameterType": "Double",
              "value": "AVOID_HIGH"
            }
          ],
          "networkAttributes": [
            {
              "dataType": "Double",
              "name": "Minutes",
              "parameterNames": [],
              "restrictionUsageParameterName": null,
              "trafficSupport": "NONE",
              "units": "Minutes",
              "usageType": "Cost"
            },
            {
              "dataType": "Integer",
              "name": "RoadClass",
              "parameterNames": [],
              "restrictionUsageParameterName": null,
              "trafficSupport": "NONE",
              "units": "Unknown",
              "usageType": "Descriptor"
            },
            {
              "dataType": "Integer",
              "name": "TimeZoneID",
              "parameterNames": [],
              "restrictionUsageParameterName": null,
              "trafficSupport": "NONE",
              "units": "Unknown",
              "usageType": "Descriptor"
            }
          ],
          "trafficSupport": "HISTORICAL_AND_LIVE"
        },
        "serviceLimits": {
          "forceHierarchyBeyondDistance": 50.0,
          "forceHierarchyBeyondDistanceUnits": "Miles",
          "maximumFeaturesAffectedByLineBarriers": 500.0,
          "maximumFeaturesAffectedByPointBarriers": 250.0,
          "maximumFeaturesAffectedByPolygonBarriers": 2000.0,
          "maximumOrders": 2000.0,
          "maximumOrdersPerRoute": 200.0,
          "maximumRoutes": 100.0
        }
      }
    }
  ],
  "messages": []
}