---
title: "Dual-Layer Disclosure Verifier"
method: POST
path: "/v1/tools/verify_dual_layer_disclosure"
tags: ["eu-ai-act", "art50", "c2pa", "watermark", "synthid", "dual-layer", "wave23"]
---

# Dual-Layer Disclosure Verifier

`POST /v1/tools/verify_dual_layer_disclosure`

## Request

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

Confirm both C2PA signed metadata and an imperceptible watermark are declared present per EU Commission Code of Practice (Art. 50 multi-layer). Emits DUAL_LAYER_PRESENT or DUAL_LAYER_INCOMPLETE.

**Tool URL:** https://ainumbers.co/chaingraph/art-127-dual-layer-disclosure-verifier.html
**AP2/Policy Mandate export:** yes

## Request body

- object
  - `c2pa_metadata_present` boolean, required
  - `watermark_present` boolean, required
  - `watermark_method` string

## Response `200`

Successful tool execution result

- object
  - `dual_layer_ok` boolean
  - `layers_present` unknown[]
    - unknown
  - `missing_layer` string, nullable
  - `watermark_method` string, nullable
  - `method_recognized` 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)
