Where Data Lives
DAQS tries to store data where you would expect to find it in Revit.
If you know where to look in Revit, you know where to look in the JSON.
This page maps the Revit UI to the JSON structure.
The two Revit property panels
When you select an element in Revit, you see two places where data lives:
1. The Properties panel (instance data)
This is the panel on the left. It shows data that is specific to this placed element — the instance.
Examples: Mark, Level, Comments, Phase Created
In DAQS JSON → FamilyInstance.values
2. Type Properties (type data)
This opens when you click Edit Type. It shows data that is shared by all instances of the same type.
Examples: Assembly Code, Category, Fire Rating, Type Mark
In DAQS JSON → FamilySymbol.values
The most important rule
If you find it in the Properties panel → it is on the FamilyInstance. If you find it in Type Properties → it is on the FamilySymbol.
This single rule explains the majority of "why is my filter not finding anything?" questions.
Concrete example: a door
Take this door from the small dataset:
[
{
"id": 617464,
"type": "FamilySymbol",
"name": "1018x2387",
"parent": { "id": 617348, "type": "Family" },
"values": {
"assemblyCode": "32.31",
"category": { "name": "Doors" },
"fireRating": null,
"typeMark": "67"
}
},
{
"id": 616521,
"type": "FamilyInstance",
"name": "1018x2387",
"parent": { "id": 617464, "type": "FamilySymbol" },
"values": {
"mark": "D-01",
"levelId": 311,
"comments": null
}
}
]
| What you see in Revit | Where in Revit | Object in JSON | Field |
|---|---|---|---|
| Mark | Properties panel | FamilyInstance |
values.mark |
| Level | Properties panel | FamilyInstance |
values.levelId |
| Comments (instance) | Properties panel | FamilyInstance |
values.comments |
| Assembly Code | Type Properties | FamilySymbol |
values.assemblyCode |
| Category | Type Properties | FamilySymbol |
values.category.name |
| Fire Rating | Type Properties | FamilySymbol |
values.fireRating |
| Type Mark | Type Properties | FamilySymbol |
values.typeMark |
What about shared parameters?
Shared parameters appear in the Properties panel or Type Properties depending on their binding.
In the JSON they look like this — keyed by p_ followed by the parameter GUID:
"p_8fe8f5ce-4979-4679-b5e0-ccfb362b9059": {
"id": 317596,
"value": "EI30",
"hasValue": true,
"ref": "Parameter",
"valueAsString": "EI30"
}
The binding determines which object carries this key:
- Bound to instances → appears in
FamilyInstance.values - Bound to types → appears in
FamilySymbol.values
The parameter definition (name, GUID, spec) is a separate Parameter object:
{
"id": 317596,
"type": "Parameter",
"values": {
"guid": "8fe8f5ce-4979-4679-b5e0-ccfb362b9059",
"name": "NLRS_C_brandwerendheid"
}
}
Level, Room, and other references
Some instance values are references to other objects, not values in themselves.
| Field in FamilyInstance | What it references |
|---|---|
values.levelId |
A Level object |
values.roomId |
A Room object |
values.hostId |
The host wall or floor |
values.materialIds |
One or more Material objects |
To access the level name, you must look up the Level object by its id:
{ "id": 311, "type": "Level", "values": { "name": "00 begane grond" } }
This is covered in detail in Filtering by Relationships.
What lives on the Family?
The Family object carries data about the family definition itself, not the type or the instance.
{
"id": 617348,
"type": "Family",
"values": {
"isEditable": true,
"isInPlace": false,
"familyPlacementType": "OneLevelBasedHosted"
}
}
Useful for rules that only apply to editable (loadable) families:
$[type = "Family" and values.isEditable = true]
When data seems missing
If your filter returns nothing or null for a field, the first question is:
Am I looking on the right object type?
Check:
1. Open the element in Revit
2. Is the parameter in the Properties panel or in Type Properties?
3. Map to FamilyInstance or FamilySymbol accordingly
4. Check values.* on that object type
The most common mistake is looking for assemblyCode on a FamilyInstance.
It does not exist there — it lives on the FamilySymbol.
Summary
| Data type | Revit location | JSON object |
|---|---|---|
| Mark, Level, Comments | Properties panel | FamilyInstance.values |
| Assembly Code, Category, Fire Rating, Type Mark | Type Properties | FamilySymbol.values |
| Shared parameter (instance binding) | Properties panel | FamilyInstance.values.p_<guid> |
| Shared parameter (type binding) | Type Properties | FamilySymbol.values.p_<guid> |
| isEditable, placementType | — | Family.values |
| Parameter name and GUID | — | Parameter.values |
| Level name | — | Level.values |