---
title: "Witness Cosignature Verifier"
method: POST
path: "/v1/tools/verify_witness_cosignatures"
tags: ["TODO_TAGS_REVIEW", "TODO_AP2_EXPORT_REVIEW"]
---

# Witness Cosignature Verifier

`POST /v1/tools/verify_witness_cosignatures`

## Request

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

Verifies a C2SP tlog-checkpoint + witness-cosignature note (SPEC.md §20.2) offline: confirms the note's origin and root match a §20/§20.1 batch anchor's declared anchored_hash, then checks each pinned witness's cosignature against a k-of-n threshold. Supports both Ed25519 cosignature/v1 and ML-DSA-44 (the suite §20.2 names alongside it under the §PQC-1 reserved-extension discipline). Consumes a caller-supplied checkpoint note (e.g. from a c2sp.org/tlog-proof bundle), verify-side only, zero log operation, zero network fetch. Golden fixtures dogfood the tool's own output, including a tampered negative fixture that must fail. States only that ≥k pinned witnesses signed this root; does not establish log honesty, key ownership, or leaf inclusion (see art-280/art-279 and SPEC.md §20.1 for those checks).

**Tool URL:** https://ainumbers.co/chaingraph/art-424-witness-cosignature-verifier.html

## Request body

- object
  - `anchored_hash` unknown, required
  - `checkpoint_note` unknown, required
  - `consistency_proof` unknown, required
  - `log_origin` unknown, required
  - `mode` unknown, required
  - `new_checkpoint_note` unknown, required
  - `old_checkpoint_note` unknown, required
  - `threshold` unknown, required
  - `witness_keys` unknown, required

## Response `200`

Successful tool execution result

- object
  - `__async` boolean
  - `anchored_hash` string
  - `checks` object[]
    - `check` string
    - `detail` string
    - `pass` boolean
  - `log_origin` string
  - `mode` string
  - `not_proven` object[]
    - `detail` string
    - `item` string
  - `parsed` object
    - `extensionLines` unknown[]
      - unknown
    - `noteText` string
    - `origin` string
    - `rootHex` string
    - `sigLines` object[]
      - `blob_b64` string
      - `name` string
    - `size` integer
  - `threshold` integer
  - `witness_keys` object[]
    - `algorithm` string
    - `name` string
    - `public_key_b64` string

---

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