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
Filtermetric attribute.Values - 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 Filter attribute on metrics.
- The new metric type
FilterusesBy Development Status Filterentries in the formValues Development. Possible values are "New", "Unchanged", and "Repurposed".Status. <value > - The new metric type
FilterusesBy Space Use Type Filterentries as space use type GlobalIDs.Values
Use Filter to include matching spaces in the metric calculation.
Example 1, filter by development status (include unchanged spaces):
{
"MetricType": "FilterByDevelopmentStatus",
"FilterValues": ["DevelopmentStatus.Unchanged"]
}Example 2, filter by space use types (include selected space use types, for example retail and commercial):
{
"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 create mutation.
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:
{
"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.
query UrbanModelLastEdit($urbanModelId: PortalItemId!) {
urbanModel(urbanModelId: $urbanModelId) {
urbanDatabase {
parcelsMeta {
lastEdit {
When
}
}
spaceUseTypes {
attributes {
GlobalID
LastEdit {
When
Editor
}
}
}
zoneTypes {
attributes {
GlobalID
LastEdit {
When
Editor
}
}
}
}
}
}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
Filteras a metric attribute used for filter metric support.Values - Added
MetricvalueType Filter(filter on space use type).By Space Use Type - Added
MetricvalueType Filter(filter on development status).By Development Status - Added
Sunlightto theAnalysisunion.Parameter - Added
CreateandSunlight Input Update.Sunlight Input - Added
createandSunlight Analyses updatemutations.Sunlight Analyses - Added
lasttoEdit FeaturesreturningMeta Last.Edit Meta - Added
Lastmetadata support on selected feature attributes (includingEdit WhenandEditorwhere 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.