AnomalyArmor can visualize how your data flows from source to destination, but it needs lineage data to work with. This guide covers three ways to get lineage into AnomalyArmor:Documentation Index
Fetch the complete documentation index at: https://docs.anomalyarmor.ai/llms.txt
Use this file to discover all available pages before exploring further.
- Upload a dbt manifest.json file (most common)
- Sync from dbt Cloud automatically
- Define lineage manually via the API
Option 1: Upload a dbt manifest.json
If you use dbt, the fastest way to populate lineage is uploading yourmanifest.json file. This file contains your full DAG, including all models, sources, seeds, and their dependencies.
Generate the manifest
Run one of these dbt commands to producetarget/manifest.json:
Upload via the API
What gets imported
AnomalyArmor parses thenodes and parent_map from your manifest to extract:
- Models (transformations in your dbt project)
- Sources (raw tables dbt reads from)
- Seeds (CSV files loaded by dbt)
- Parent-child relationships between all of the above
sync_to_catalog parameter (default: true) also triggers a asset discovery job so your dbt models appear as assets in the catalog.
Response
Automate uploads in CI/CD
Add a manifest upload step after your dbt run completes:Option 2: Sync from dbt Cloud
If you use dbt Cloud, AnomalyArmor can fetch the manifest directly from your dbt Cloud account. No file upload needed.Finding your dbt Cloud credentials
| Parameter | Where to find it |
|---|---|
account_id | dbt Cloud URL: cloud.getdbt.com/deploy/**12345**/... |
api_token | dbt Cloud > Account Settings > API Access > Service tokens |
job_id | dbt Cloud > Jobs > select your job > ID in the URL |
Use a service token with at least the “Read artifacts” permission. Personal tokens work but are tied to individual users.
Option 3: Define lineage manually
For data sources that are not managed by dbt, you can define lineage nodes and edges directly via the API.Create a lineage node
Create a lineage edge
Updating lineage
When your dbt project changes, re-upload the manifest. AnomalyArmor handles updates intelligently:- New nodes and edges are created
- Existing nodes are updated with new metadata
- Relationships that no longer exist are removed
Limits
| Constraint | Value |
|---|---|
| Max manifest file size | 50 MB |
| File format | JSON (UTF-8 encoded) |
| Required manifest keys | nodes, parent_map |
Common Questions
Where do I find my dbt manifest.json file?
It lives under target/manifest.json after you run dbt parse, dbt compile, or dbt run. dbt parse is the fastest option because it does not compile SQL or hit your warehouse. See Generate the manifest.
Do I need dbt to upload lineage?
No. Option 3 lets you define lineage manually via the API by creating nodes and edges directly. This is how you model lineage for sources outside dbt, like Fivetran pipelines, Airflow tasks, or bespoke ETL jobs.How do I sync lineage from dbt Cloud instead of uploading a file?
CallPOST /api/v1/assets/{asset_id}/lineage/dbt-cloud/sync with your dbt Cloud account_id, api_token, and job_id. AnomalyArmor pulls the latest manifest from the run artifacts directly. Use a service token with “Read artifacts” permission, not a personal token. See Option 2.
How often should I re-upload the manifest?
Re-upload any time your dbt project changes, typically as a CI step afterdbt run in your deploy pipeline. AnomalyArmor diffs the new manifest against the existing graph: new nodes and edges are created, updated ones are updated, and relationships that no longer exist are removed.
What is the max manifest size AnomalyArmor accepts?
50 MB, UTF-8 encoded JSON, withnodes and parent_map keys required. Most dbt projects fit well under this; if you’re hitting it, check whether you’re accidentally uploading a run_results.json instead of manifest.json.
Next steps
Query Lineage
Explore upstream and downstream dependencies
Impact Analysis
Check downstream impact before schema changes
dbt Integration
Add quality gates to your dbt workflows
AI Agent: Lineage
Ask natural language questions about data flow
