-
Type:
Suggestion
-
Resolution: Unresolved
-
Component/s: Assets - Service, performance, functionality
-
None
Summary
As an integration developer, I want to select which attributes are returned by the Assets /v1/aql/objects API so that I can reduce payload size and simplify my integrations.
Problem Definition
When querying Assets via /v1/aql/objects, the includeAttributes parameter is all‑or‑nothing:
- includeAttributes=false → no attributes
- includeAttributes=true → all attributes on each object
There is no way to request only specific attributes such as E‑mail Address, Name, or Designation.
For schemas with many attributes, this causes:
- Large, slow responses when only a few attributes are needed.
- Extra client‑side logic to filter out unwanted attributes.
- Scalability concerns for large object schemas and frequent integrations.
Example use case: an integration that only needs E‑mail Address, Name, and Designation for all matching user objects, but must currently fetch every attribute and discard most of them in code.
Suggested Solution
Add support to /v1/aql/objects for specifying a subset of attributes to return, for example via a new query parameter such as attributes= that accepts attribute names/IDs/keys.
Example:
GET /rest/assetapi/1.0/v1/aql/objects?ql=...&includeAttributes=true&attributes=Email%20Address,Name,Designation
Workaround
Currently, integrations must:
- Call /v1/aql/objects with includeAttributes=true.
- Receive all attributes for each object.
- Implement custom filtering logic client‑side to keep only the needed attributes (e.g. E‑mail Address, Name, Designation).
This is functional but inefficient and increases complexity for every integration.