Learn about recent changes to the ArcGIS Urban API. The release date is July 21st, 2026.

What's new

  • Added support for new filter metrics, enabled by a new FilterValues metric attribute.
  • Added sunlight analysis as a new analysis.
  • Added last-edit metadata (When, Editor) for selected feature types and layer-level metadata queries.

Examples

The following section provides examples of how to use the new Urban API features added in the July 2026 release.

Filter metrics

Filter metrics use the FilterValues attribute on metrics.

  • The new metric type FilterByDevelopmentStatus uses FilterValues entries in the form DevelopmentStatus.<value>. Possible values are "New", "Unchanged", and "Repurposed".
  • The new metric type FilterBySpaceUseType uses FilterValues entries as space use type GlobalIDs.

Use FilterValues to include matching spaces in the metric calculation.

Example 1, filter by development status (include unchanged spaces):

Use dark colors for code blocksCopy
1
2
3
4
{
  "MetricType": "FilterByDevelopmentStatus",
  "FilterValues": ["DevelopmentStatus.Unchanged"]
}

Example 2, filter by space use types (include selected space use types, for example retail and commercial):

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
{
  "MetricType": "FilterBySpaceUseType",
  "FilterValues": [
    "<space-use-type-global-id-retail>",
    "<space-use-type-global-id-commercial>"
  ]
}

Creating a sunlight analysis

This example shows how to create a sunlight analysis using the new createSunlightAnalyses mutation.

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mutation CreateSunlightAnalysis(
  $urbanDatabaseId: PortalItemId!
  $sunlightAnalyses: [CreateSunlightInput!]!
) {
  createSunlightAnalyses(
    urbanDatabaseId: $urbanDatabaseId
    sunlightAnalyses: $sunlightAnalyses
  ) {
    attributes {
      GlobalID
      AnalysisName
      Parameters {
        __typename
        ... on Sunlight {
          sunlights {
            discreteInterval
            durationMode
            thresholdValue
            time {
              date
              startTimeOfDay
              endTimeOfDay
              utcOffset
            }
            visualizationType
          }
        }
      }
    }
  }
}

Example variables:

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
  "urbanDatabaseId": "<urban-database-id>",
  "sunlightAnalyses": [
    {
      "attributes": {
        "AnalysisName": "Summer daylight"
      },
      "sunlights": [
        {
          "discreteInterval": 3600000,
          "durationMode": "Continuous",
          "thresholdValue": 7200000,
          "time": {
            "date": 1784592000000,
            "startTimeOfDay": 28800000,
            "endTimeOfDay": 64800000,
            "utcOffset": 2
          },
          "visualizationType": "Threshold"
        }
      ]
    }
  ]
}

Querying last-edit metadata

The following examples show how to query last-edit metadata at Urban Model and Plan level.

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
query UrbanModelLastEdit($urbanModelId: PortalItemId!) {
  urbanModel(urbanModelId: $urbanModelId) {
    urbanDatabase {
      parcelsMeta {
        lastEdit {
          When
        }
      }
      spaceUseTypes {
        attributes {
          GlobalID
          LastEdit {
            When
            Editor
          }
        }
      }
      zoneTypes {
        attributes {
          GlobalID
          LastEdit {
            When
            Editor
          }
        }
      }
    }
  }
}
Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
query PlanLastEdit($urbanDesignDatabaseId: PortalItemId!) {
  urbanDesignDatabase(urbanDesignDatabaseId: $urbanDesignDatabaseId) {
    plans {
      branches {
        parcelsMeta {
          lastEdit {
            When
          }
        }
      }
      spaceUseTypes {
        attributes {
          GlobalID
          LastEdit {
            When
            Editor
          }
        }
      }
    }
  }
}

Schema changes

This section describes new features and changes made to the Urban API schema.

  • Added FilterValues as a metric attribute used for filter metric support.
  • Added MetricType value FilterBySpaceUseType (filter on space use type).
  • Added MetricType value FilterByDevelopmentStatus (filter on development status).
  • Added Sunlight to the AnalysisParameter union.
  • Added CreateSunlightInput and UpdateSunlightInput.
  • Added createSunlightAnalyses and updateSunlightAnalyses mutations.
  • Added lastEdit to FeaturesMeta returning LastEditMeta.
  • Added LastEdit metadata support on selected feature attributes (including When and Editor where available).

Bug fixes and improvements

  • Enabled editor tracking by default for newly created and upgraded feature services, to enable the last edit metadata information.

Deprecations

No new deprecations in this release.

Breaking changes

No breaking changes in this release.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.