# operation: tasks.filter-results.by-geometry-type
Description: Returns FeatureSources that have a geometry type that matches the supplied type. Web only.

Inputs: `FilterSourcesByGeometryTypeArgs`

FilterSourcesByGeometryTypeArgs properties:
```json
{
  "geometryType": {
    "anyOf": [
      {
        "items": {
          "$ref": "esri.rest-api.GeometryJson.GeometryJsonType"
        },
        "type": "array"
      },
      {
        "enum": [
          "esriGeometryEnvelope",
          "esriGeometryMultipoint",
          "esriGeometryPoint",
          "esriGeometryPolygon",
          "esriGeometryPolyline"
        ],
        "type": "string"
      }
    ],
    "description": "The geometry type to filter the sources by."
  },
  "maps": {
    "description": "The map from which to retrieve the sources. This argument will not be forwarded in the result of this operation."
  },
  "sources": {
    "description": "The sources to search in. This can be used in combination with the \"maps\" argument to search both.",
    "items": {
      "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
    },
    "type": "array"
  }
}
```

Outputs: `FilterSourcesByGeometryTypeResult`

---
# operation: tasks.filter-results.first-visible
Description: Returns the first visible FeatureSource in the web map within the current scale range. Web only.

Inputs: `FilterSourcesFirstVisibleArgs`

FilterSourcesFirstVisibleArgs properties:
```json
{
  "maps": {
    "description": "The map from which to retrieve the sources. This argument will not be forwarded in the result of this operation."
  },
  "sources": {
    "description": "The sources to search in. This can be used in combination with the \"maps\" argument to search both.",
    "items": {
      "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
    },
    "type": "array"
  }
}
```

Outputs: `FilterSourcesFirstVisibleResult`

---
# operation: tasks.identify
Description: Returns features that intersect a given geometry.

Inputs: `IdentifyArgs`

IdentifyArgs properties:
```json
{
  "geometry": {
    "description": "The geometry to identify by.",
    "isRequired": "true"
  },
  "layersInScaleRangeOnly": {
    "description": "When \"map\" is specified, this determines whether to include only layers that are in visible scale range. The default is false. Not supported in VertiGIS Studio Mobile.",
    "type": "boolean"
  },
  "layersWithPopupEnabledOnly": {
    "description": "When \"map\" is specified, this determines whether to include only layers that have the `popupEnabled` layer property set to true. The default is false. Not supported in VertiGIS Studio Mobile.",
    "type": "boolean"
  },
  "maps": {
    "description": "The map to identify. Can be used instead of or in addition to \"sources\". Layers on the map will be used as sources according to the \"layersInScaleRangeOnly\", \"layersWithPopupEnabledOnly\", and \"visibleLayersOnly\" flags."
  },
  "maxAllowableOffset": {
    "description": "The maximum allowable offset used for generalizing returned geometries. Not supported in VertiGIS Studio Mobile.",
    "type": "number"
  },
  "maxResults": {
    "description": "The maximum number of results to return per source. Not supported in VertiGIS Studio Mobile.",
    "type": "number"
  },
  "outFields": {
    "description": "List of fields that should be returned that overrides the default out fields. Not supported in VertiGIS Studio Mobile.",
    "items": {
      "type": "string"
    },
    "type": "array"
  },
  "outSpatialReference": {
    "description": "The spatial reference for the returned geometry. Not supported in VertiGIS Studio Mobile."
  },
  "pointTolerance": {
    "description": "A tolerance value to use for point identify operations. All features falling within a buffer of this many logical pixels around the point will be returned by the identify operation. The default is 10. Not supported in VertiGIS Studio Mobile.",
    "type": "number"
  },
  "polyTolerance": {
    "description": "A tolerance value to use for polyline and polygon identify operations. All features falling within a buffer of this many logical pixels around the geometry will be returned by the identify operation. The default is\n2. Not supported in VertiGIS Studio Mobile.",
    "type": "number"
  },
  "returnGeometry": {
    "description": "Whether geometry for features should be returned. Not supported in VertiGIS Studio Mobile.",
    "type": "boolean"
  },
  "sources": {
    "description": "The feature sources to identify. Can be used instead of or in addition to \"maps\". Not supported in VertiGIS Studio Mobile (use \"maps\"). Source will be used in addition to the maps.",
    "items": {
      "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
    },
    "type": "array"
  },
  "visibleLayersOnly": {
    "description": "When \"map\" is specified, this determines whether to include only visible layers. The default is true. Not supported in VertiGIS Studio Mobile.",
    "type": "boolean"
  }
}
```

Outputs: `Features`

---
# operation: tasks.query
Description: Returns features that match the supplied where clause. Web only.

Inputs: `QueryArgs`

QueryArgs properties:
```json
{
  "geometry": {
    "description": "The geometry to query by."
  },
  "maxAllowableOffset": {
    "description": "The maximum allowable offset used for generalizing returned geometries.",
    "type": "number"
  },
  "maxResults": {
    "description": "The maximum number of results to return.",
    "type": "number"
  },
  "outFields": {
    "description": "Fields that should be returned for each feature.",
    "items": {
      "type": "string"
    },
    "type": "array"
  },
  "outSpatialReference": {
    "description": "The spatial reference for the returned geometry."
  },
  "returnGeometry": {
    "description": "Whether geometry for features should be returned.",
    "type": "boolean"
  },
  "source": {
    "description": "The feature source to query.",
    "isRequired": "true"
  },
  "where": {
    "description": "The where clause to query by.",
    "type": "string",
    "isRequired": "true"
  }
}
```

Outputs: `Features`

---
# operation: tasks.search
Description: Returns features that match the given search text.

Inputs: `SearchArgs`

SearchArgs properties:
```json
{
  "disableSearchAreaExpansion": {
    "description": "By default the search area will be expanded to try and return the specified maxResults. Set to true to disable this behavior. Not supported in VertiGIS Studio Mobile.",
    "type": "boolean"
  },
  "mapViewpoint": {
    "description": "The map Viewpoint at the time of the search. Mobile only."
  },
  "maps": {
    "description": "The map(s) to search. Can be used instead of or in addition to \"sources\". This property is required in VertiGIS Studio Mobile."
  },
  "maxQueryResults": {
    "description": "The maximum number of results to query per source, the results per source will still be limited by maxResults.",
    "type": "number"
  },
  "maxResults": {
    "description": "The maximum number of results to return per source.",
    "type": "number"
  },
  "near": {
    "description": "If specified, this will influence the score of spatial features based on their proximity to this point. Most commonly this would be the user's current location, but can be any point of interest. This option requires searchArea to also be specified. Not supported in VertiGIS Studio Mobile."
  },
  "outSpatialReference": {
    "description": "The spatial reference for the returned geometry. Not supported in VertiGIS Studio Mobile."
  },
  "searchArea": {
    "description": "If specified, results are limited to features that intersect the geometry. This property is required in VertiGIS Studio Mobile."
  },
  "searchText": {
    "description": "The text to search for. Required.",
    "type": "string",
    "isRequired": "true"
  },
  "sourceId": {
    "description": "Id of source to filter for.",
    "type": "string"
  },
  "sources": {
    "description": "The feature sources to search. Can be used instead of or in addition to \"maps\". Not supported in VertiGIS Studio Mobile (use \"maps\").",
    "items": {
      "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
    },
    "type": "array"
  }
}
```

Outputs: `Features`

---
# operation: tasks.suggest
Description: Returns values for a specified field from features meeting where clause criteria. Web only.

Inputs: `QueryArgs`

QueryArgs properties:
```json
{
  "geometry": {
    "description": "The geometry to query by."
  },
  "maxAllowableOffset": {
    "description": "The maximum allowable offset used for generalizing returned geometries.",
    "type": "number"
  },
  "maxResults": {
    "description": "The maximum number of results to return.",
    "type": "number"
  },
  "outFields": {
    "description": "Fields that should be returned for each feature.",
    "items": {
      "type": "string"
    },
    "type": "array"
  },
  "outSpatialReference": {
    "description": "The spatial reference for the returned geometry."
  },
  "returnGeometry": {
    "description": "Whether geometry for features should be returned.",
    "type": "boolean"
  },
  "source": {
    "description": "The feature source to query.",
    "isRequired": "true"
  },
  "where": {
    "description": "The where clause to query by.",
    "type": "string",
    "isRequired": "true"
  }
}
```

Outputs: `Features`

---
# operation: tasks.supports-identify
Description: Returns a boolean depicting whether a FeatureSource supports identify. Web only.

Inputs: `( @vertigis.arcgis-extensions.data.FeatureSource.FeatureSource | SupportsIdentifyArgs )`

SupportsIdentifyArgs properties:
```json
{
  "geometry": {
    "description": "The geometry to identify by."
  },
  "options": {
    "description": "The options for the identify operation."
  },
  "source": {
    "description": "The feature source to identify.",
    "isRequired": "true"
  }
}
```

Outputs: `boolean`

---
# operation: tasks.supports-query
Description: Returns a boolean depicting whether a FeatureSource supports query. Web only.

Inputs: `( @vertigis.arcgis-extensions.data.FeatureSource.FeatureSource | SupportsQueryArgs )`

SupportsQueryArgs properties:
```json
{
  "source": {
    "description": "The feature source to query.",
    "isRequired": "true"
  }
}
```

Outputs: `boolean`

---
# operation: tasks.supports-search
Description: Returns a boolean depicting whether a FeatureSource supports search. Web only.

Inputs: `@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource`

Outputs: `boolean`

---
# operation: tasks.supports-suggest
Description: Returns a boolean indicating whether a FeatureSource supports suggest. Web only.

Inputs: `( @vertigis.arcgis-extensions.data.FeatureSource.FeatureSource | SupportsQueryArgs )`

SupportsQueryArgs properties:
```json
{
  "source": {
    "description": "The feature source to query.",
    "isRequired": "true"
  }
}
```

Outputs: `boolean`

---
