Sam Mayen
06/10/2026, 6:17 PMkapa.ai
06/10/2026, 6:17 PM# Fetch all visualizations in a workspace
visualizations = sdk.visualizations.get_visualizations("your_workspace_id")
# Attempt to execute each visualization
for visualization in visualizations:
try:
sdk.tables.for_visualization("your_workspace_id", visualization)
except Exception:
print(f"Visualization {visualization.title} is broken.")
There is no JSON property that directly flags a visualization as broken — the only way to detect it programmatically is by catching runtime exceptions. [Python SDK docs] [broken visualizations discussion]
Dependency Graph API:
You can use the Dependency Graph API to check which visualizations and dashboards depend on a specific metric, attribute, or fact. This is useful for proactively assessing the impact of LDM changes before applying them. [dependency discussion]
LDM Editor — Impact Analysis (UI only):
When making changes in the LDM editor, the Model Changes tab provides an impact analysis that scans the workspace and lists affected metrics, visualizations, and dashboards. Note that this only covers the current workspace — it does not surface impacts in child workspaces, and it is not exposed via API. [Monitor Model Changes]
VS Code Extension:
The GoodData VS Code extension offers referential validation, which can catch broken references after LDM or metric changes. This is a semi-automated process rather than a REST API. [broken visualizations discussion]
2. Object Lineage (Impact Before Changes) GoodData's Analytics Catalog includes an Object Lineage feature (currently experimental) that shows upstream and downstream dependencies for metrics, visualizations, dashboards, attributes, and facts. This can help you:
• Estimate the impact of deleting or modifying an object
• Identify orphaned objects (objects with no dependents)
• Trace how objects are constructed
[Object Lineage docs]
3. Identifying Orphaned/Phantom Objects When LDM entities are deleted, dependent metrics and visualizations can become "phantom objects" — they disappear from the UI but remain in backend metadata. These can only be managed via the API. [phantom objects discussion]
Relevant docs referenced in the community:
• Objects Lifecycle
• Monitor Model Changes
4. Identifying Orphaned Filter Contexts The knowledge sources do not contain specific guidance on identifying orphaned filter contexts via the Python SDK or API. What is confirmed is that:
• The Python SDK does handle filter contexts (unlike the CLI's gd deploy, which resets them).
• You can store the analytics model including filter contexts using store_analytics_model_to_disk.
I'm sorry, but there's no specific documentation in the knowledge sources about identifying orphaned filter contexts programmatically. [filter context discussion]
5. General Workspace Cleanup Recommendations • Use the Analytics Catalog to check if metrics are used in other metrics or insights before deleting them. [Clean BI Project blog]
• Organize metrics into folders to improve discoverability and reduce duplication.
• Use the Python SDK for bulk operations (listing, validating, and deleting objects) as part of a CI/CD or scheduled maintenance workflow.
• Submit product feedback for features like cross-workspace impact analysis, as this is currently a known gap. [cross-workspace discussion]
Your plan to use the Python SDK with YAML files for maintenance is well-aligned with the recommended approach. Hope this helps! 😊 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups.
👀 Our Support team monitors all messages and will jump in if needed.Michael Ullock
06/10/2026, 6:22 PM