Data Types

Overview

This document provides summary descriptions of REST services data types, including syntax and examples if applicable. REST services types are listed in alphabetical order. Additional notes related to implementation and syntax may be found in the documentation of the individual endpoints.


ArrayOfDouble

A list of values of type double.

Syntax: <double>;<double>; ... ;<double>

Example: 1.0;3.0;5.0

Notes: If more than one numerical value is specified, they should be unique, ascending, and separated by semicolons with no white space in between.



ArrayOfInt

A list of values of type int.

Syntax: <int>;<int>; ... ;<int>

Example: 1;3;5

Notes: If more than one numerical value is specified, they should be unique, ascending, and separated by semicolons with no white space in between.



ArrayOfKeyValue

A list of KeyValue types. It is used to associate Summary Reports header fields with custom values.

JSON Syntax

[
  <KeyValue>,
  <KeyValue>,
  
  ...
  
  <KeyValue>
]

JSON Example

[
  {
    "Key": "address",
    "Value": "[address+field]"
  },
  {
    "Key": "locationname",
    "Value": "[locationname+field]"
  },
  {
    "Key": "subtitle",
    "Value": "[subtitle+field]"
  },
  {
    "Key": "latitude",
    "Value": "[latitude+field]"
  },
  {
    "Key": "longitude",
    "Value": "[longitude+field]"
  }
]

Notes: White space in the attribute values may be substituted with the + character (e.g. "My+Report+Subtitle"). URL encoding also allows the use of %20 in place of spaces.



ArrayOfPointRecords

A list of PointRecord types.

JSON Syntax

[
  <PointRecord>,
  <PointRecord>,
  
  ...
  
  <PointRecord>
]

JSON Example

[
  {
    "longitude": -122.434616,
    "latitude": 37.784298,
    "name": "store1",
    "description": "First store",
    "storeID": "1"
  },
  {
    "longitude": -122.432871,
    "latitude": 37.733342,
    "name": "store2",
    "description": "Second store",
    "storeID": "2"
  }
]

Notes: White space in the attribute values may be substituted with the + character (e.g. "First+store"). URL encoding also allows the use of %20 in place of spaces.

The default coordinate system is GCS_WGS_1984 (WKID: 4326).



ArrayOfReportInfo

A list of values of type ReportInfo. This type encapsulates Summary Reports output.

JSON Syntax

[
  <ReportInfo>,
  <ReportInfo>,
  
  ...
  
  <ReportInfo>
]

JSON Example

[
  {
    "TemplateName": "dandi_fy",
    "ReportDescription": "2010 Demographic and Income Profile",
    "ReportFormat": "PDF",
    "ReportURL": "http://baoapi.esri.com/BAO93out/output/reports/dandi_fy__127382083569322C6BE3E-793F-B161-7112-E7445FAC24B7.pdf"
  },
  {
    "TemplateName": "dandi_fy",
    "ReportDescription": "2010 Demographic and Income Profile",
    "ReportFormat": "XML",
    "ReportURL": "http://baoapi.esri.com/BAO93out/output/reports/dandi_fy__1273820835709E3761E5D-3E9A-154F-C2BD-2954D5275683.xml"
  }
]

Notes: URL links to the reports expire after a short period of time.



ArrayOfReportOptions

A list of values of type ReportOptions. This type encapsulates Summary Reports selection and options.

JSON Syntax

[
  <ReportOptions>,
  <ReportOptions>,
 
  ...
 
  <ReportOptions>
]

JSON Example

[
  {
    "TemplateName": "dandi_fy",
    "ReportFormat": "PDF",
    "ReportHeader": [
      {
        "Key": "address",
        "Value": "[address+field]"
      },
      {
        "Key": "locationname",
        "Value": "[locationname+field]"
      },
      {
        "Key": "subtitle",
        "Value": "[subtitle+field]"
      },
      {
        "Key": "latitude",
        "Value": "[latitude+field]"
      },
      {
        "Key": "longitude",
        "Value": "[longitude+field]"
      }
    ]
  },
  {
    "TemplateName": "dandi_fy",
    "ReportFormat":"XML"
  }
]

Notes: White space in the attribute values may be substituted with the + character (e.g. "My+Report+Subtitle"). URL encoding also allows the use of %20 in place of spaces. ReportHeader's Key-Value property values allow the customization of report headers.

"ReportFormats"can include "Excel", "PDF", "XML" and "S.XML" based on their availability as described in Get Report Templates.

"TemplateNames" are the names of the report templates as described by Get Report Templates.

See documentation for each service to determine availability and options for report headers.



ArrayOfReportTemplateInfo

A list of ReportTemplateInfo types. This type encapsulates Get Report Templates output and provides information about Summary Report templates and the names to use when specifying them in ReportOptions.

JSON Syntax

[
  <ReportTemplateInfo>,
  <ReportTemplateInfo>,
  
  ...
  
  <ReportTemplateInfo>
]

JSON Example

[
  {
    "name": "market_profile",
    "category": "Demographic Reports",
    "title": "Market Profile",
    "formats": [
      "PDF",
      "Excel",
      "XML"
    ]
  },
  {
    "name": "dandi",
    "category": "Demographic Reports",
    "title": "Demographic and Income Profile",
    "formats": [
      "PDF",
      "Excel",
      "XML"
    ]
  },
 
  ...
 
  {
    "name": "dt_site",
    "category": "MAP_Reports",
    "title": "Dominant Tapestry Site Map",
    "formats": ["PDF"]
  }
]

Notes: When referencing or listing a report as a parameter, the value associated with the name property is typically used.

The response has been abbreviated in the example where "..." is noted.



ArrayOfString

A list of values of type string.

Syntax: <string>;<string>; ... ;<string>

Example: XML;PDF;HTML

Notes: If there are more than one string values specified, they should be unique and separated by semicolons with no white space in between.

When specifying an ArrayOfString in JSON, the entire semicolon-delimited string of values should be enclosed in a single pair of quotes.



ArrayOfString2

A JSON obect list of type string.

JSON Example

[
  <string>, 
  <string>,
 
  ...
 
  <string>
]

JSON Example

[
  "USA",
  "Canada",
  "USACensus2010"
]


Attributes

A list of key-value pairs associated with a feature.

JSON Syntax

{
  <string>: <string>, 
  <string>: <Number>,
 
  ...
 
  <string>: <string>
}

JSON Example

{
  "STORE_ID": "1",
  "NAME": "store1",
  "DESCR": "Flagship Branch",
  "ADDRESS": "1501 State St.",
  "CITY": "Santa Barbara",
  "STATE": "CA",
  "ZIP": "93101",
  "SALES": 1500000,
  "EMP": 25
}

Notes: Attribute values can be expressed as strings (enclosed in parentheses) or as Numbers.



ArrayOfSummarizationInfo

A list of values of type string.

JSON Syntax

[
  <SummarizationInfo>, 
  <SummarizationInfo>, 
  
  ...
 
  <SummarizationInfo>
]

JSON Example

{
  "result": [
    {
      "Name": "TOTPOP_CY",
      "Alias": "2010 Total Population",
      "Category": "2010 Key Demographic Indicators",
      "LongDescription": "2010 Total Population",
      "Units": "count"
    },
    {
      "Name": "HHPOP_CY",
      "Alias": "2010 Household Population",
      "Category": "2010 Key Demographic Indicators",
      "LongDescription": "2010 Household Population",
      "Percentage": "TOTPOP_CY",
      "Units": "count"
    },
    {
      "Name": "FAMPOP_CY",
      "Alias": "2010 Family Population",
      "Category": "2010 Key Demographic Indicators",
      "LongDescription": "2010 Family Population",
      "Percentage": "TOTPOP_CY",
      "Units": "count"
    },
    {
      "Name": "GQPOP_CY",
      "Alias": "2010 Group Quarters Population",
      "Category": "2010 Key Demographic Indicators",
      "LongDescription": "2010 Group Quarters Population",
      "Percentage": "TOTPOP_CY",
      "Units": "count"
    },
  
    ...
    
    {
      "Name": "MOENOFUEL",
      "Alias": "MOE HHs\/Heat: No Fuel",
      "Category": "2005-2009 ACS Occupied Housing Units by House Heating Fuel",
      "LongDescription": "2005-2009 MOE Household by House Heating Fuel: No Fuel Used"
    }
  ]
}


base64Binary

A standards-based base-64 data interchange format for serialization of files to a string binary representation. In REST services, it is an option format option for imagery.

Notes: For more information on this data type, please refer to this standards document which describes it in detail.


boolean

In REST services, a boolean is a primitive data type which represents binary logic. The valid values are true or false. When used in JSON objects, boolean data types are not enclosed in quotation marks like string data types.

Notes: For more information on this data type, please refer to this standards document which describes it in detail.



DataLayer

An input type which encapsulates a 2-D Geometry for the Summarization Reports endpoint. A DataLayer instance can be composed of a FeatureSet (Feature RecordSet) or a StdLayer. A DataLayer is constructed with either a FeatureSet or StdLayer but, not both. Parameters RecordSet and StdLayer are mutually exclusive. A FeatureSet allows the user to describe a custom area with the use of boundary coordinates. A StdLayer allows a user to specify a predefined geography such as ZIP codes, counties, and Census Tracts.

JSON Syntax (1) (DataLayer as FeatureSet)

{
  "RecordSet": <FeatureSet>
}

JSON Example (1) (DataLayer as FeatureSet)

{"RecordSet": {
    "geometryType": "esriGeometryPolygon",
    "spatialReference": {"wkid":4326},
    "features": [
      {
        "geometry": {
          "rings": [
            [
              [-117.07193,32.772579],
              [-117.232982,32.870448],
              [-117.23774,32.746418],
              [-117.07193,32.772579]
            ]
          ],
          "spatialReference": {"wkid":4326}
        },
        "attributes": {
          "OID": 1,
          "AREA_ID": "1_1",
          "STORE_ID": "1",
          "RING": 1,
          "RING_DEFN": "triangular_study_area",
          "AREA_DESC": "area defined by three closed points"
        }
      },
      {
        "geometry": {
          "rings": [
            [
              [-117.58154,33.56997],
              [-117.29076,33.56997],
              [-117.29076,33.66412],
              [-117.58154,33.66412],
              [-117.58154,33.56997]
            ]
          ],
          "spatialReference": {"wkid":4326}
        },
        "attributes": {
          "OID": 2,
          "AREA_ID": "2_1",
          "STORE_ID": "2",
          "RING": 1,
          "RING_DEFN": "rectangular_study_area",
          "AREA_DESC": "area defined by four closed points"
        }
      }
    ]
  }
}


JSON Syntax (2) (DataLayer as StdLayer)

{
  "StdLayer": <StdLayer>
}

JSON Example (2) (DataLayer as StdLayer)

{
  "StdLayer": {
    "ID": "US.ZIP5",
    "geographyIDs": [
      "19703",
      "19706",
      "19707"
    ]
  }
}

Notes: Most use cases involve the retrieval of areas associated with an installed geography level. For the default dataset, this includes geography levels such as Census Block groups, Census Tracts, and U.S. ZIP codes. In many cases, queries involve the use of standardized FIPS codes. For a list of currently available data layer IDs, see Get Standard Geography Levels.

The default coordinate system is GCS_WGS_1984 (WKID: 4326).


double

In REST services, a double is a primitive data type which represents a type of Number. When used in JSON objects, double values are not enclosed in quotation marks like string data types.

Notes: For more information on this data type, please refer to this standards document which describes it in detail.



esriBABenchmarkOptions

An enumeration of benchmark area calculation option used in REST services Benchmark Report service. These enumeration values are represented as strings.



esriBABenchmarkSortOptions

An enumeration of benchmark area output report field sort options used in REST services Benchmark Report service. These enumeration values are represented as strings.



esriBADriveTimeUnits

An enumeration of time and distance measurement units used in REST services Drive Time service. These enumeration values are represented as strings.



esriGeometryType

An enumeration of feature geometry data types. These enumeration values are represented as strings.



esriReportFormat

An enumeration of REST services output report formats. These enumeration values are represented as strings.



esriSpatialRelEnum

An enumeration of API spatial relationship options. These enumeration values are represented as strings.

Notes: For more detailed information regarding the spatial relationship options, see this link.



esriUnits

An enumeration of linear measurement units used in REST services. These enumeration values are represented as strings.



ExtentCoordinates

Can be used to specify a geographic extent.

JSON Syntax

{
  "XMin": <double>,
  "XMax": <double>,
  "YMin": <double>,
  "YMax": <double>,
  "SpatialReference": <SpatialReference>,
  "CoordinateSystem": <WKID>
}

JSON Example

{
  "XMin": -84.020313,
  "XMax": -82.457595,
  "YMin": 41.983507,
  "YMax": 41.983507,
  "CoordinateSystem": 4326
}

Notes: For a list of valid WKID values, see Projected coordinate Systems and Geographic coordinate Systems.

The SpatialReference and CoordinateSystems properties are mutually exclusive.



ExtentData

Specifies a geographic extent. In REST services, ExtentData is often used to limit the geographic extent of an analysis. ExtentData can be optionally described as a 2-D Geometry, such as a Polygon or Envelope, or as ExtentCoordinates. Examples are given below.

JSON Syntax (ExtentData as Polygon)

{
  "Extent": <Polygon>
}

JSON Example (ExtentData as Polygon)

{
  "Extent": {
    "rings": [  
      [ 
        [-82.457595,41.983507],
        [-82.457595,42.885916],
        [-83.733139,43.240413],
        [-84.949773,42.940422],
        [-84.943043,42.554298],
        [-84.020313,41.983507],
        [-82.457595,41.983507]
      ]
    ],
    "spatialReference": {"wkid" : 4326}
  }
}

Note: A polygon ring's last coordinate pair should be "connected" to the first coordinate pair to "close" off the polygon shape. Also, per convention, coordinate pairs for the polygon vertices should be listed in counter-clockwise "draw order" to define an area inside the perimeter formed by the vertices.



JSON Syntax (ExtentData as Envelope)

{
  "Extent": <Envelope>
}

JSON Example (ExtentData as Envelope)

{
  "Extent": {
    "xmin": -84.020313,
    "ymin": 41.983507, 
    "xmax": -82.457595,
    "ymax": 42.885916,
    "SpatialReference": {"wkid": 4326}
  }
}


JSON Syntax (ExtentData as ExtentCoordinates)

{
  "Coordinates": <ExtentCoordinates>
}

JSON Example (ExtentData as ExtentCoordinates)

{
  "Coordinates": {
    "XMin": -84.020313,
    "XMax": -82.457595,
    "YMin": 41.983507,
    "YMax": 41.983507,
    "CoordinateSystem": 4326
  }
}

Notes: For a list of valid WKID values, see Projected coordinate Systems and Geographic coordinate Systems.



FeatureSet

A lightweight and serialized representation of a feature class. A feature class is a collection of geographic features with the same geometry type (esriGeometryType), the same set of named attributes, and the same SpatialReference. Points, Polygons, and Polylines are frequently represented as FeatureSets in REST services .

JSON Syntax

{
  "geometryType": <esriGeometryType>,
  "spatialReference": <SpatialReference>,
  "features": [
    {
      "geometry": <Geometry>,
      "attributes": <Attributes>
    },
    
    ...
    
    
    {
      "geometry": <Geometry>,
      "attributes": <Attributes>
    }
  ]
}

JSON Example (FeatureSet as Points)

{
  "geometryType": "esriGeometryPoint",
    "spatialReference": {"wkid": 4326},
    "features": [
      {
        "geometry": {
          "x": -117.194152,
          "y": 34.057165,
          "spatialReference": {"wkid": 4326}
        },
        "attributes": {
          "STORE_ID": "1"
        }
      },
      {
        "geometry": {
          "x": -117.232605,
          "y": 32.870896,
          "spatialReference": {"wkid": 4326}
        },
        "attributes": {
          "STORE_ID": "2"
        }
      }
    ]
}

JSON Example (FeatureSet as Polylines)

{
  "geometryType": "esriGeometryPolyline",
  "spatialReference": {"wkid":4326},
  "features": [
    {
      "geometry": {
        "paths": [
          [
            [-122.466,37.797], [-122.465,37.777]
          ]
        ],
        "spatialReference": {"wkid": 4326}
      },
      "attributes": {
        "OID": 1,
        "Latitude": 37.777,
        "Longitude": -122.465,
        "STORE_ID": "1",
        "NAME": "Alex Smith",
        "DESCR": "Customer of Store 1",
        "Distance": 1.407642
      }
    },
    {
      "geometry": {
        "paths": [
          [
            [-122.466,37.797], [-122.447,37.779]
          ]
        ],
        "spatialReference": {"wkid":4326}
      },
      "attributes": {
        "OID": 2,
        "Latitude": 37.779,
        "Longitude": -122.447,
        "STORE_ID": "1",
        "NAME": "Olga Meyers",
        "DESCR": "Customer of Store 1",
        "Distance": 1.653579
      }
    },
    {
      "geometry": {
        "paths": [
          [
            [-122.448,37.797], [-122.435,37.788]
          ]
        ],
        "spatialReference": {"wkid":4326}
      },
      "attributes": {
        "OID": 3,
        "Latitude": 37.788,
        "Longitude": -122.435,
        "STORE_ID": "2",
        "NAME": "Tim Jones",
        "DESCR": "Customer of Store 2",
        "Distance": 0.950874
      }
    }
  ]
}

JSON Example (FeatureSet as Polygons)

{
  "geometryType": "esriGeometryPolygon",
  "spatialReference": {"wkid":4326},
  "features": [
    {
      "geometry": {
        "rings": [
          [
            [-117.07193,32.772579],
            [-117.232982,32.870448],
            [-117.23774,32.746418],
            [-117.07193,32.772579]
          ]
        ],
        "spatialReference": {"wkid":4326}
      },
      "attributes": {
        "OID": 1,
        "AREA_ID": "1_1",
        "STORE_ID": "1",
        "RING": 1,
        "RING_DEFN": "triangular_study_area",
        "AREA_DESC": "closed polygon area defined by three points"
      }
    },
    {
      "geometry": {
        "rings": [
          [
            [-117.58154,33.56997],
            [-117.29076,33.56997],
            [-117.29076,33.66412],
            [-117.58154,33.66412],
            [-117.58154,33.56997]
          ]
        ],
        "spatialReference": {"wkid":4326}
      },
      "attributes": {
        "OID": 2,
        "AREA_ID": "2_1",
        "STORE_ID": "2",
        "RING": 1,
        "RING_DEFN": "rectangular_study_area",
        "AREA_DESC": "closed polygon area defined by four points"
      }
    }
  ]
}

Note: A polygon ring's last coordinate pair should be "connected" to the first coordinate pair to "close" off the polygon shape. Also, per convention, coordinate pairs for the polygon vertices should be listed in counter-clockwise "draw order" to define an area inside the perimeter formed by the vertices.



Geometry

An abstract parent class of various geometry sub-types. Geometries are used to provide a spatial description of features and are fundamentally composed of coordinates. In REST services, the most commonly employed geometry sub-types include Envelope, Point, Polygon, and Polyline.

Notes: For more information on this data type, please refer to the ArcGIS Server REST API Geometry documentation.



GeofenceInfoOutput

Encapsulates the output of the API GeofenceInfo REST service. A GeofenceInfoOutput object will always contain a StdGeographiesFeatures value and an empty TaskMessagesArray value. It can optionally contain a RecordSet with polygon FeatureSet data. The TaskMessagesArray property is currently unimplemented and will be returned as an empty array.

JSON Syntax

{
  "TaskMessagesArray": <TaskMessagesArray>,
  "StdGeographiesFeatures": <StdGeographiesArrayOfFeatures>,
  "RecordSet" : <FeatureSet>
}

JSON Example

{
  "TaskMessagesArray": [],
  "StdGeographiesFeatures": [
    {
      "FeatureID": "06071007301",
      "FeatureName": "06071007301"
    },
    {
      "FeatureID": "06071007800",
      "FeatureName": "06071007800"
    },
    
    ...
    
    {
      "FeatureID": "06071008600",
      "FeatureName": "06071008600"
    }
  ],
  "RecordSet": {
    "geometryType": "esriGeometryPolygon",
    "spatialReference": {"wkid": 4326},
    "features": [
      {
        "attributes": {
          "ID": "06071008500",
          "Gen2_Length": 0.27680121712515127,
          "Gen2_Area": 0.0025918185791268225
        },
        "geometry": {
          "rings": [
            [
              [-117.066024, 34.004074],
              [-117.135041, 34.00397],
              
              ...
              
              [-117.066024,34.004074]
            ]
          ],
          "spatialReference": {"wkid": 4326}
        }
      },
      {
        "attributes": {
          "ID": "06071008600",
          "Gen2_Length": 0.32809403429573064,
          "Gen2_Area": 0.004200010941483622
        },
        "geometry": {
          "rings": [
            [
              [-117.036539, 34.0684],
              [-117.042867, 34.06833],
            
              ...
            
              [-117.036539, 34.0684]
            ]
          ],
          "spatialReference": {"wkid": 4326}
        }
      },
      
      ...
      
      {
        "attributes": {
          "ID": "06071008404",
          "Gen2_Length": 0.049442110817163376,
          "Gen2_Area": 1.2628456739656116E-4
        },
        "geometry": {
          "rings": [
            [
              [-117.156408, 34.062809],
              [-117.156354, 34.059817],
              
              ...
              
              [-117.156408, 34.062809]
            ]
          ],
          "spatialReference": {"wkid": 4326}
        }
      }
    ]
  }
}

Notes: The response has been abbreviated in the example where "..." is noted.



IDNamePair

An object that associates a name with an ID such as a API geographic data layer ID and its corresponding name. (See Get Standard Geography Levels.).

JSON Syntax

{
  "ID": <string>,
  "Name": <string>
}

JSON Example

{
  "ID": "US.Tracts",
  "Name": "Tracts"
}


IDNamePairsArray

A list of IDNamePair types.

JSON Syntax

[
  <IDNamePair>,
  
  ...
  
  <IDNamePair>
]

JSON Example

[
  {
    "ID": "US.WholeUSA",
    "Name": "Whole USA"
  },
  {
    "ID": "US.States",
    "Name": "States"
  },
  {
    "ID": "US.Counties",
    "Name": "Counties"
  },
  {
    "ID": "US.Tracts",
    "Name": "Tracts"
  },
  {
    "ID": "US.ZIP5",
    "Name": "ZIPs"
  },
 
  ...
   
  {
    "ID": "US.CS",
    "Name": "County Subdivisions"
  }
]

Notes: When referencing or listing a geography level as a parameter, the value associated with the ID property is typically used.

The response has been abbreviated in the example where "..." is noted.



int

A data primitive used in REST services.

Notes: An int is derived from a long. For more information on this data type, please refer to this standards document which describes it in detail.



integer

A data primitive used in REST services.

Notes: For more information on this data type, please refer to this standards document which describes it in detail.



KeyValue

A type to associate two values. It is used in Summary Reports to associate header fields with custom values.

JSON Syntax

{
  "Key": <string>,
  "Value": <string>
}

JSON Example

{
  "Key": "address",
  "Value": "101 Some Street"
}

Notes: White space in the attribute values may be substituted with the + character (e.g. "101+Some+Street"). URL encoding also allows the use of %20 in place of spaces.



MapImage

Encapsulates and describes an image capture of the output features in the result of an analysis.

JSON Syntax

{
  "ImageURL": <string>,
  "MapScale": <double>,
  "ImageHeight": <int>,
  "ImageWidth": <int>,
  "Extent": <Extent Coordinates>
}


JSON Example

{
   "ImageURL": "http://mesabao93app.esri.com/BAO93out/output/maps/map__12647158682588F1BA1F0-FEE4-2B03-DD38-4C1A46034617.jpg",
   "MapScale": 9491.834144,
   "ImageHeight": 2048,
   "ImageWidth": 2048,
   "Extent": {
      "xmin": -87.62899,
      "ymin": 41.889658,
      "xmax": -87.614188,
      "ymax": 41.904459,
      "spatialReference": {"wkid": 4326}
   }
}

Notes: The URL link to the imagery expires after a short period of time.

Multiply map measurements by the value of the MapScale property to get the actual length in the same units.

The default map projection is GCS_WGS_1984 (WKID: 4326).



MessageType

An enumeration of status message types.

Notes: TaskMessage and MessageType is currently unimplemented and is being reserved for possible future functionality.



Number

In REST services, a number can represent an int, integer, or double.

Notes: Number values, which represent IDs, should be expressed as strings.



PointLayer

PointLayer describes a feature class of point objects. A PointLayer can be composed of FeatureSet, StdLayer, or ArrayOfPointRecords. A PointLayer can optionally contain a SpatialReference.


JSON Syntax (PointLayer as FeatureSet)

{
  "RecordSet" : {
    "geometryType": "esriGeometryPoint",
    "spatialReference": <SpatialReference>,
    "features": [
      {
        "geometry": <Point>,
        "attributes": <Attributes>
      },
      
      ...
 
      {
        "geometry": <Point>,
        "attributes": <Attributes>
      }
    ]
  },
  "SpatialReference": <SpatialReference>
}

JSON Example (PointLayer as FeatureSet)

{
  "RecordSet":{
    "geometryType": "esriGeometryPoint",
    "spatialReference": {"wkid": 4326},
    "features": [
      {
        "geometry": {
          "x": -117.194152, 
          "y":34.057165, 
          "spatialReference": {"wkid": 4326}
        },
        "attributes": {
          "STORE_ID": "1",
          "NAME": "store1",
          "DESCR": "Redlands Office"
        }
      },
      {
        "geometry": {
          "x": -117.232605, 
          "y": 32.870896, 
          "spatialReference": {"wkid": 4326}
        },
        "attributes": {
          "STORE_ID": "2",
          "NAME": "store2",
          "DESCR": "La Jolla Office"
        }
      }
    ]
  },
  "SpatialReference": {"wkid": 4326}
}

Notes: The features must be of type esriGeometryPoint.



JSON Syntax (PointLayer as StdLayer)

{
  "StdLayer": <StdLayer>
}

JSON Example (PointLayer as StdLayer)

{
  "StdLayer": {
    "ID": "US.BDS.Blocks",
    "geographyIDs": [
      "010010210001005"
    ]
  }
}

Notes: This is for illustrative purposes only. (Querying the US.BDS.Blocks layer is currently not supported.)



JSON Syntax (PointLayer as ArrayOfPointRecords)

{
  "Points" : <ArrayOfPointRecords>
}

JSON Example (PointLayer as ArrayOfPointRecords)

{
  "Points" : [
    {
      "longitude": -122.434615, 
      "latitude": 37.784298, 
      "name": "store1", 
      "description": "First store", 
      "storeID": "1"
    },
    {
      "longitude": -122.432871, 
      "latitude": 37.733342, 
      "name": "store2", 
      "description": "Second store", 
      "storeID": "2"
    }
  ]
}

Notes: The default coordinate system is GCS_WGS_1984 (WKID: 4326).



PointRecord

Describes a single point-based store/location/feature in REST services.

JSON Syntax

{
  "Longitude": <double>, 
  "Latitude": <double>,
  "StoreID": "<string>",
  "Name": "<string>",
  "Description": "<string>"
}

JSON Example

{
  "Longitude": -122.434615, 
  "Latitude": 37.784298,
  "StoreID": "1",
  "Name": "store1",
  "Description": "First store"
}

Notes: The values for Name and Description are, in some cases, optional.

StoreID is usually expressed as a <string> number and must be unique if multiple PointRecords are specified. Be sure to enclose StoreID in quotes.

The default coordinate system of PointRecord is GCS_WGS_1984 (WKID: 4326).



ReportInfo

Encapsulates a single Summary Reports analysis service response.

JSON Syntax

{
  "TemplateName": <string>,
  "ReportDescription": <string>,
  "ReportFormat": <string>,
  "ReportURL": <string>
}

JSON Example

{
  "TemplateName": "dandi_fy",
  "ReportDescription": "2010 Demographic and Income Profile",
  "ReportFormat": "PDF",
  "ReportURL": "http://baoapi.esri.com/BAO93out/output/reports/dandi_fy__127382083569322C6BE3E-793F-B161-7112-E7445FAC24B7.pdf"
}


ReportOptions

This type encapsulates Summary Reports selection, format, and header customization options. In Summary Reports, the ReportOptions parameter is specified as an ArrayOfReportOptions. See Get Report Templates to retrieve a list of available report templates and the supported custom fields/headers for each template.

JSON Syntax

{
  "TemplateName": <string>,
  "ReportFormat": <string>,
  "ReportHeader": <ArrayOfKeyValue>
}

JSON Example

{
  "TemplateName": "dandi_fy",
  "ReportFormat": "PDF",
  "ReportHeader": [
    {
      "Key": "address",
      "Value": "[address+field]"
    },
    {
      "Key": "locationname",
      "Value": "[locationname+field]"
    },
    {
      "Key": "subtitle",
      "Value": "[subtitle+field]"
    }
  ]
}

Notes: White space in the attribute values may be substituted with the + character (e.g. "My+Report+Subtitle"). URL encoding also allows the use of %20 in place of spaces.

"ReportFormats"can include "Excel", "PDF", "XML" and "S.XML" based on their availability as described in Get Report Templates.

"TemplateNames" are the names of the report templates as described by Get Report Templates.

See Get Report Templates to retrieve a list of available report templates and the supported custom fields/headers for each template.

ReportTemplateInfo

Describes a Summary Reports template including its referenced name, category, title, and the available report output formats.

JSON Syntax

{
  "name": <string>,
  "category": <string>,
  "title": <string>,
  "formats": [
    <string>,
    <string>,
    ...
    <string>
  ]
}

JSON Example

{
  "name": "market_profile",
  "category": "Demographic Reports",
  "title": "Market Profile",
  "formats": [
    "PDF",
    "Excel",
    "XML"
  ]
}

Notes: When referencing or listing a report as a parameter, the value associated with the name property is used.



SpatialReference

A spatial reference (coordinate) system for the output geometry (coordinate-based representations of features).

JSON Syntax

{
  "WKID": <int>
}

JSON Example

{
  "WKID": 102100
}

Notes: The Well-known IDs (WKIDs) of several geographic and projected coordinate systems are available here.

Many of the newest base maps available on ArcGIS.com here and ArcGISOnline here consist of map services which use the Web Mercator Auxiliary Sphere (WKID 102100) based Coordinate Reference System.



StandardReportOptions

This type encapsulates the Benchmark Report format.

JSON Syntax

{
  "ReportFormat": <string>
}

JSON Example

{
  "ReportFormat": "PDF"
}


Notes: White space in the attribute values may be substituted with the + character (e.g. "My+Report+Subtitle"). URL encoding also allows the use of %20 in place of spaces.

Benchmark Report "ReportFormats"can include "XML", "S.XML" (Simplified/condensed XML), and "PDF".

StdGeographiesArrayOfFeatures

A list of StandardGeographiesReturnedFeatures.

JSON Syntax

[
  <StdGeographiesReturnedFeature>,
  <StdGeographiesReturnedFeature>,
        
  ...
 
  <StdGeographiesReturnedFeature>
]


JSON Example

[  
  {
    "FeatureID": "05065",
    "FeatureName": "Sharon",
    "StateName": "Vermont",
    "StateAbbrev": "VT"
  },
  {
    "FeatureID": "06065",
    "FeatureName": "Riverton",
    "StateName": "Connecticut",
    "StateAbbrev": "CT"
  },
 
  ...
 
  {
    "FeatureID": "98065",
    "FeatureName": "Snoqualmie",
    "StateName": "Washington",
    "StateAbbrev": "WA"
  }
]

Notes: The response has been abbreviated in the example where "..." is noted.



StdGeographiesReturnedFeature

Returned when a data layer is queried. A StdGeographiesReturnedFeature associates a geography feature/area name with its associated ID. These feature IDs can be used to specify specific areas for analysis in a StdLayer.

JSON Syntax

{
  "FeatureID": <string>,
  "FeatureName": <string>
  "StateName": <string>
  "StateAbbrev": <string>
}


JSON Example

{
  "FeatureID": "05065",
  "FeatureName": "Sharon",
  "StateName": "Vermont",
  "StateAbbrev": "VT"
}


StdLayer

Can be used to reference an installed data layer. Filtering for specific records is supported with the geographyIDs property while the ID property is used to specify the data layer.

Aggregated Geographies Syntax

StdLayers also support an "aggregated geographies" syntax which provides the option of creating a single aggregated study area consisting of multiple standard geography areas. For example, instead of leveraging the Summary Reports task to create a report based on 3 separate ZIP code areas, the aggregated geographies syntax can be used to treat all 3 ZIP code areas as a single combined area. See the JSON syntax and example below.

The ZIP code features, or features in any other Standard Geography (administrative boundary) data layer do not have to be adjacent or share a boundary to leverage the aggregated geographies syntax option.

JSON Syntax (specify each area separately)

{
  "ID": <string>, 
  "geographyIDs": [
    <string>,
    <string>,
    ...
    <string>
  ]
}

JSON Example (specify each area separately)

{
  "ID": "US.ZIP5",
  "geographyIDs": [
    "19703",
    "19706",
    "19707"
  ]
}

Notes: DEPRECATION: The "geographyLevel" property of an StdLayer JSON object has been deprecated and replaced with the "ID" property. The naming has changed but the usage is the same.

Most use cases involve the retrieval of areas associated with an installed geography level. For the default dataset, this includes geography levels such as Census Block groups, Census Tracts, and U.S. ZIP codes. In many cases, queries involve the use of standardized FIPS codes. For a list of currently available data layer IDs, see Get Standard Geography Levels.

The default coordinate system is GCS_WGS_1984 (WKID: 4326).

 

JSON Syntax (aggregated geographies syntax - specify multiple areas as a single combined area)

{
  "ID": <string>, 
  "geographyIDs": [
    "<string>,<string>, ... ,<string>"
  ]
}

JSON Example (aggregated geographies syntax - specify multiple areas as a single combined area)

{
  "ID": "US.ZIP5",
  "geographyIDs": [
    "19703,19706,19707"
  ]
}

Notes: DEPRECATION: The "geographyLevel" property of an StdLayer JSON object has been deprecated and replaced with the "ID" property. The naming has changed but the usage is the same.

Most use cases involve the retrieval of areas associated with an installed geography level. For the default dataset, this includes geography levels such as Census Block groups, Census Tracts, and U.S. ZIP codes. In many cases, queries involve the use of standardized FIPS codes. For a list of currently available data layer IDs, see Get Standard Geography Levels.

The default coordinate system is GCS_WGS_1984 (WKID: 4326).



string

A data primitive used in REST services.

Notes: For more information on this data type, please refer to this standards document which describes it in detail.



SummarizationInfo

A record describing a summarization variable

JSON Syntax

{
  "Name": <string>, 
  "Alias": <string>, 
  "Category": <string>, 
  "LongDescription": <string>, 
  "Decimals": <int>, 
  "Percentage": <string>, 
  "AvgBase": <string>,
  "IndexBase": <double>,
  "Units": <string>,
}

JSON Example

{
  "Name": "TOTPOP_CY",
  "Alias": "2010 Total Population",
  "Category": "2010 Key Demographic Indicators",
  "LongDescription": "2010 Total Population",
  "Units": "count"
}

Notes: The Decimals, Percentage, AvgBase, IndexBase, and Units properties are only available for some variables.

The Decimals property is the number of decimal places that should be used for the variable?s value.

The Percentage property, when provided, is the summarization variable that should be used as a denominator when the user wants to calculate percentage values for the same standard geography level. e.g. To calculate the percentage of owner-occupied housing units for the most current data year(OWNER_CY) in a given ZIP code, divide the value by the total housing units for the most current data year (TOTHU_CY) for the same ZIP code area.

The AvgBase property, when provided, is a string that refers to the summarization variable that should be used as the base value to calculate the average value of the variable in the same standard geography level.

The IndexBase attribute, when provided, is the average U.S. value for this summarization variable. This value can be leveraged to calculate a 100-based index value for the variable when comparing with the average U.S. value. To calculate this index, take the summarization value and divide it by the indexBase value; then multiply it by 100. A result of 75 would indicate that the summarization value for the area of analysis is 25% below the U.S. national average. A result of 200 would indicate that the summarization value for the are of analysis is 200% above the U.S. national average.

The Units property generally describes what type of value the summarization variable represents. e.g. currency value, count value, etc.



TaskMessage

Server side status message returned in the API Web service response.

JSON Syntax

{
  "messageType": <MessageType>,
  "messageString": <string>
}

Notes: TaskMessage and MessageType is currently unimplemented and is being reserved for possible future functionality.



TaskMessagesArray

An list of TaskMessage

JSON Syntax

[
  <TaskMessage>,
  <TaskMessage>,
  
  ...
  
  <TaskMessage>
]

Notes: TaskMessage and TaskMessagesArray is currently unimplemented and is being reserved for possible future functionality.



TaskOutputType

An enumeration of output services.

Notes: In the Analysis services, the ReportOptions parameter is required when selecting the GetReport option.



TaskOutputTypeArray

A list of TaskOutputTypes.

Syntax: <TaskOutputType>;<TaskOutputType>; ... ;<TaskOutputType>

Example: GetFeatureClass;GetReport

Notes: Multiple TaskOutputTypes can be specified together by separating them with a semicolon character. Do not leave any white space between the TaskOutputTypes and they should not repeat.

In the Analysis services, the ReportOptions parameter is required when selecting the GetReport option.



TaskResultOutput

Encapsulates the output of a REST services. A TaskResultOutput can contain a RecordSet with FeatureSet data describing the geometry and attributes of the output; a list of report URLs; and output map image data. The output options are specified by a TaskOutputTypeArray.

JSON Syntax

{
  "RecordSet" : <FeatureSet>,
  "Reports": <ArrayOfReportInfo>,
  "MapImage": <MapImage>
}


JSON Example

{
  "RecordSet": {
    "geometryType": "esriGeometryPolygon",
    "spatialReference": {"wkid": 4326},
    "features": [
      {
        "attributes": {
          "AREA_ID": "1_1",
          "STORE_ID": "1",
          "RING": 1,
          "RING_DEFN": "5 Minutes",
          "AREA_DESC": "0 - 5 Minutes",
          "AREA_DESC2": "Drive Time: 5 Minutes",
          "STORE_LAT": 37.784298,
          "STORE_LONG": -122.434616,
          "Latitude": 37.784298,
          "Longitude": -122.434616,
          "NAME": "store1",
          "DESCR": "First store",
          "STORE_ADDR": " "
        },
        "geometry": {
          "rings": [
            [
              [-122.434393, 37.806758], 
              [-122.434359, 37.806749],
              
              ...
              
              [-122.434393, 37.806758]
            ]
          ]
        }
      },
      {
        "attributes": {
          "AREA_ID": "2_1",
          "STORE_ID": "2",
          "RING": 1,
          "RING_DEFN": "5 Minutes",
          "AREA_DESC": "0 - 5 Minutes",
          "AREA_DESC2": "Drive Time: 5 Minutes",
          "STORE_LAT": 37.733342,
          "STORE_LONG": -122.432871,
          "Latitude": 37.733342,
          "Longitude": -122.432871,
          "NAME": "store2",
          "DESCR": "Second store",
          "STORE_ADDR": " "
        },
        "geometry": {
          "rings": [
            [
              [-122.432533, 37.757956], 
              [-122.431825, 37.758095],
              
              ...
              
              [-122.432533, 37.757956]
            ]
          ]
        }
      }
    ]
  },
  "Reports": [
    {
      "TemplateName": "market_profile",
      "ReportDescription": "Market Profile",
      "ReportFormat": "Excel",
      "ReportURL": "http://baoapi.esri.com/BAO93out/output/reports/market_profile__12738241466317D2EF8A8-A5AA-C5CE-D120-D7EB97E65ED7.xls"
    },
    {
      "TemplateName": "market_profile",
      "ReportDescription": "Market Profile",
      "ReportFormat": "PDF",
      "ReportURL": "http://baoapi.esri.com/BAO93out/output/reports/market_profile__1273824148037DC888622-6539-DF70-3025-1AA4137E45F8.pdf"
    }
  ],
  "MapImage": {
    "ImageURL": "http://mesabao93app.esri.com/BAO93out/output/maps/map__1310376474359182808C7-7AAB-73B2-1408-06D217043C8E.jpg",
    "MapScale": 63795.101183,
    "ImageHeight": 2048,
    "ImageWidth": 2048,
    "Extent": {
      "xmin": -117.242053,
      "ymin": 34.010777,
      "xmax": -117.142571,
      "ymax": 34.110259,
      "spatialReference": {"wkid": 4326}
    }
  }
}

Notes: The response has been abbreviated in the example where "..." is noted.

The URL links to the reports and imagery expire after a short period of time.