3 Dec 2025

Enforce the Limit to property.name translations in Filter of the AEC Data Model Query

Default blog image

The AEC Data Model API is introducing an important update to how property.name based filters are processed. This change is designed to improve performance, stability, and predictability as datasets grow across hubs, projects, and models. See the official docs for details: Special Considerations for PropertyName Filters.


What’s Changing?

AEC Data Model API will enforce limits on how many property name translations can be resolved when using property.name in filter queries.

New Limits per Query(summary)

  • Maximum 100 property name translations for element group

  • Maximum 250 total property name translations for hub/project/folder(across element groups)

If a filter causes the API to expand a property name into more property definitions than these thresholds allow, the API will return an error directly rather than attempting the expensive expansion.


Who Is Impacted?

You may be impacted if your application:

  • Uses property.name filters (auto-resolved by the API), and

  • Queries across multiple models/projects where the same property name appears many times.

If you already filter by explicit property definition id values (or use property.id expressions), you are not impacted.


Example: Queries That May Fail Under the New Limits

The following property name based examples illustrate patterns that may now fail if they expand to more property definitions than the new thresholds allow.

Simple property.name example that may fail

{
    ...,
    "filter": {
        "query":"property.name.Width>1.5"
    },
    ...
}

Example: Correct property.id Query (Expected to Work)

Below is the exact corrected example instead - a property.id based filter query that targets explicit property definitions, assume there are 2 property IDs for ‘Width’ as follow:

  • parameters.22edf5b5ecf7475382a1ddba7795a65d:lp59e893d70e8511d69d9e00010235866b00000350-1.0.0
  • parameters.22edf5b5ecf7475382a1ddba7795a65d:lp94e228176ecf4410bee07c737e5d85fb00000ac6-1.0.0

This is the recommended, working style under the new behavior:

{
    ...,
    "filter": {

        "query": "(('property.id.parameters.22edf5b5ecf7475382a1ddba7795a65d:lp59e893d70e8511d69d9e00010235866b00000350-1.0.0' > 1.5) or ('property.id.parameters.22edf5b5ecf7475382a1ddba7795a65d:lp94e228176ecf4410bee07c737e5d85fb00000ac6-1.0.0' > 1.5))"
    ...
}

 


 

Migration Guidance

  1. Map name → id — use the query (propertyDefinitionsByElementGroup) to map property definitions ids from names for the element group(s) you care about.

  2. Replace property.name filters — use property.id expressions (as in the working example above).

  3. Test federated queries — run queries across your largest scopes to ensure the translation stays under the documented thresholds.

If you have any questions, please contact APS support.  

Related Article