# AssetGraph
## Properties
**assets** | [**Vec<models::AssetGraphAssetsInner>**](AssetGraph_assets_inner.md) | |
**runnables** | [**Vec<models::AssetGraphRunnablesInner>**](AssetGraph_runnables_inner.md) | |
**edges** | [**Vec<models::AssetGraphEdgesInner>**](AssetGraph_edges_inner.md) | |
**triggers** | [**Vec<models::AssetGraphTriggersInner>**](AssetGraph_triggers_inner.md) | |
**macro_edges** | Option<[**Vec<models::AssetGraphMacroEdgesInner>**](AssetGraph_macro_edges_inner.md)> | Macro-library → consumer edges (deploy-recorded call detection plus `// use`). Omitted when empty. | [optional]
**test_edges** | Option<[**Vec<models::AssetGraphTestEdgesInner>**](AssetGraph_test_edges_inner.md)> | Ordering-only \"must-run-after\" edges — a `// data_test relationships` (or custom test reading a pipeline asset) requires the referenced asset's producer to run before the tested script. Not a data-consumption edge; fed into the cascade topo-sort so cold runs order correctly. Omitted when empty. | [optional]
**dbt_edges** | Option<[**Vec<models::AssetGraphDbtEdgesInner>**](AssetGraph_dbt_edges_inner.md)> | `ref()` lineage BETWEEN two dbt models, in the terms the canvas draws — the relations, not dbt's node ids. Without it every model hangs off the one dbt runnable and the project reads as a flat fan-out. Omitted when empty. | [optional]
**dbt_snapshot_job** | Option<[**uuid::Uuid**](uuid::Uuid.md)> | The job whose own snapshot the dbt half was resolved from, when one was asked for and found. A run page polls the graph while its job runs, because a dynamic descriptor's snapshot is written mid-run, and this is what tells it to stop. Omitted when the answer came from the version's deployed graph. | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)