---
title: "Content Binding Assertion Validator"
method: POST
path: "/v1/tools/validate_content_binding_assertion"
tags: ["c2pa", "binding", "tamper-evident", "hash", "watermark", "content-credentials", "wave23"]
---

# Content Binding Assertion Validator

`POST /v1/tools/validate_content_binding_assertion`

## Request

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

Validate hard-binding (tamper-evident asset hash match) vs soft-binding (watermark survives re-encode). Emits TAMPER_EVIDENT / SOFT_BINDING_ONLY / UNBOUND verdict. Terminal stage.

**Tool URL:** https://ainumbers.co/chaingraph/art-128-content-binding-assertion-validator.html
**AP2/Policy Mandate export:** yes

## Request body

- object
  - `binding_type` 'hard' | 'soft' | 'both', required
  - `asset_bytes_hash` string
  - `claimed_hard_binding_hash` string
  - `soft_binding_identifier_present` boolean

## Response `200`

Successful tool execution result

- object
  - `binding_type` string, nullable
  - `hard_binding_matches` boolean
  - `tamper_evident` boolean
  - `soft_binding_present` boolean
  - `verdict` 'TAMPER_EVIDENT' | 'SOFT_BINDING_ONLY' | 'UNBOUND'

---

[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)
