API
Geometry & Viewer API
ImplementedThe browser needs element trees, source URLs and graph fragments without downloading Neo4j. Geometry operations stay off the request path except for on-demand cross-section.
Why this exists
Why this API boundary exists
The browser needs element trees, source URLs and graph fragments without downloading Neo4j. Geometry operations stay off the request path except for on-demand cross-section.
Endpoints
/viewer/models/{file_id}/rootImplementedNeo4j root element summary.
Auth: clerk
services/api/app/routes/viewer.py
/viewer/models/{file_id}/childrenImplementedChild elements of a parent.
Auth: clerk
services/api/app/routes/viewer.py
/viewer/models/{file_id}/elements/by-express/{express_id}ImplementedElement by IFC express id.
Auth: clerk
services/api/app/routes/viewer.py
/viewer/elementsImplementedQuery elements with filters.
Auth: clerk
services/api/app/routes/viewer.py
/viewer/elements/classifyPartialClassify an element from properties.
Auth: clerk
services/api/app/routes/viewer.py
/viewer/elements/metadataImplementedUpdate element metadata in Neo4j.
Auth: clerk
services/api/app/routes/viewer.py
/viewer/elements/suggestPartialMaterial suggestion from element properties.
Auth: clerk
services/api/app/routes/viewer.py
/viewer/models/{file_id}/source-urlImplementedPresigned source model URL.
Auth: clerk
services/api/app/routes/viewer.py
/viewer/models/{file_id}/artifactsImplementedDerived artefacts (meshes, GLB).
Auth: clerk
services/api/app/routes/viewer.py
/viewer/models/{file_id}/graph-relationsImplementedGraph relations for the viewer.
Auth: clerk
services/api/app/routes/viewer.py
/viewer/models/{file_id}/graph-viewImplementedPaginated graph view.
Auth: clerk
services/api/app/routes/viewer.py
/viewer/models/{file_id}/graph-checkImplementedGraph integrity / coverage check.
Auth: clerk
services/api/app/routes/viewer.py
/structural/models/{file_id}/elements/{element_id}/cross-sectionImplementedCross-section profile for the viewer. Not catalogue matching.
Auth: clerk
services/api/app/routes/structural.py