---
title: "Provenance Ingredient Tree Resolver"
method: POST
path: "/v1/tools/resolve_provenance_ingredient_tree"
tags: ["c2pa", "provenance", "ingredient-tree", "content-credentials", "wave23"]
---

# Provenance Ingredient Tree Resolver

`POST /v1/tools/resolve_provenance_ingredient_tree`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/resolve_provenance_ingredient_tree`
- Auth: none declared

Walk the c2pa.ingredient parent-of tree; confirm each ingredient hashed_uri binding and nested manifest hash chains back to the active manifest; flag broken provenance edges. Emits intact/broken verdict.

**Tool URL:** https://ainumbers.co/chaingraph/art-125-provenance-ingredient-tree-resolver.html
**AP2/Policy Mandate export:** yes

## Request body

- object
  - `active_manifest_hash` string, required
  - `ingredients` unknown[], required
    - unknown

## Response `200`

Successful tool execution result

- object
  - `tree_intact` boolean
  - `depth` integer
  - `edges` unknown[]
    - unknown
  - `broken_edges` unknown[]
    - unknown
  - `root_ok` boolean

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
