AINumbers.co C2PA API

The C2PA API from AINumbers.co — 5 operation(s) for c2pa.

Operations 5

POST /v1/tools/compose_c2pa_manifest_definition C2PA Manifest Composer #
POST /v1/tools/validate_c2pa_manifest C2PA Content Credential Manifest Validator #
POST /v1/tools/verify_content_credential_signature Content Credential Signature Verifier #
POST /v1/tools/resolve_provenance_ingredient_tree Provenance Ingredient Tree Resolver #
POST /v1/tools/validate_content_binding_assertion Content Binding Assertion Validator #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ainumbers-co:ainumbers-co-c2pa-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ainumbers-co-c2pa-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AINumbers.co Fintech Intelligence Suite C2PA API
  version: 1.0.0
  description: '**1255 fintech intelligence tools** covering ISO 20022, A2A payments, CFPB §1033, EU AI Act, DORA, MiCA, AML/KYC, BaaS, DLT/tokenization, ESG/climate finance, agentic payments (AP2, ACP, x402, Visa TAP, Mastercard Agent Pay), PQC migration, sanctions screening, and OpenChainGraph v0.4 computation chains.


    ## Transport


    > **The live transport is MCP JSON-RPC 2.0 at `https://mcp.ainumbers.co/mcp` — not REST.**

    >

    > This OpenAPI file is a **descriptive data-room artifact** — a machine-readable index of all tools and their input/output schemas. The REST paths (`POST /v1/tools/{name}`) described here are a projection; they become functional only if the optional REST shim (Area 2 Path B) is deployed.

    >

    > To call tools today, connect via the official MCP client SDKs. TypeScript: `@modelcontextprotocol/sdk`. Python: `mcp`.


    ## Architecture


    All tools run **entirely client-side** (browser JavaScript). Zero PII. Zero server calls after page load. Deterministic, reproducible outputs. Licensed CC BY 4.0.


    OpenChainGraph v0.4 compute-binding nodes additionally run **server-side on the MCP Worker** and emit verifiable artifacts with `execution_hash` (WebCrypto SHA-256 over RFC 8785 canonical JSON).'
  contact:
    name: Post Oak Labs
    url: https://postoaklabs.com
    email: tim@postoaklabs.com
  license:
    name: CC BY 4.0
    url: https://creativecommons.org/licenses/by/4.0/
servers:
- url: https://ainumbers.co
  description: Static browser-based tool host (DreamHost). Tools run client-side — no REST gateway is active on this origin. See x-mcp for the live MCP endpoint.
tags:
- name: C2PA
paths:
  /v1/tools/compose_c2pa_manifest_definition:
    post:
      operationId: compose_c2pa_manifest_definition
      summary: C2PA Manifest Composer
      description: 'Authors a C2PA manifest DEFINITION in-browser: c2pa.actions v2 assertions with a digitalSourceType picker (including trainedAlgorithmicMedia), ingredient declarations with client-side sha256 digests, a creative-work/EXIF-subset assertion, and a draft CAWG identity block. Composes and structurally validates only; never signs and makes no Trust List claims. Also exports a c2patool-compatible manifest-definition file so users can sign externally with their own certificate and tooling.


        **Tool URL:** https://ainumbers.co/tools/550-c2pa-manifest-composer.html

        **AP2/Policy Mandate export:** yes'
      tags:
      - C2PA
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                claim_generator:
                  type: string
                actions:
                  type: array
                ingredients:
                  type: array
      responses:
        '200':
          description: Successful tool execution result
          content:
            application/json:
              schema:
                type: object
                properties:
                  manifest_definition:
                    type: object
                    description: Composed C2PA manifest DEFINITION JSON
                  definition_digest:
                    type: string
                    description: sha256 digest of the definition, computed client-side
                  structural_validation:
                    type: object
                    description: manifest_valid, has_hard_binding, has_actions, missing_elements — same checks as art-123-c2pa-manifest-validator
                  c2patool_definition:
                    type: object
                    description: Same definition remapped to c2patool's documented manifest JSON field names (claim_generator, title, format, instanceId, assertions) for external signing — never signed by this tool
      x-mcp-tool-name: compose_c2pa_manifest_definition
      x-tool-url: https://ainumbers.co/tools/550-c2pa-manifest-composer.html
      x-source: manifest
      x-ap2-export: true
  /v1/tools/validate_c2pa_manifest:
    post:
      operationId: validate_c2pa_manifest
      summary: C2PA Content Credential Manifest Validator
      description: 'Validate a decoded C2PA 2.x manifest: claim well-formedness, hard-binding hash assertion, and claim-signature reference. Zero network. Feeds the Content Credential signature verifier.


        **Tool URL:** https://ainumbers.co/chaingraph/art-123-c2pa-manifest-validator.html

        **AP2/Policy Mandate export:** yes'
      tags:
      - C2PA
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                claim_generator:
                  type: string
                claim:
                  type: object
                assertions:
                  type: array
                signature:
                  type: object
              required:
              - claim_generator
              - claim
              - assertions
      responses:
        '200':
          description: Successful tool execution result
          content:
            application/json:
              schema:
                type: object
                properties:
                  manifest_valid:
                    type: boolean
                  has_hard_binding:
                    type: boolean
                  has_actions:
                    type: boolean
                  assertion_count:
                    type: integer
                  missing_elements:
                    type: array
      x-mcp-tool-name: validate_c2pa_manifest
      x-tool-url: https://ainumbers.co/chaingraph/art-123-c2pa-manifest-validator.html
      x-source: manifest
      x-ap2-export: true
  /v1/tools/verify_content_credential_signature:
    post:
      operationId: verify_content_credential_signature
      summary: Content Credential Signature Verifier
      description: 'Assess a C2PA COSE_Sign1 content-credential signature policy. The caller performs the signature check over the manifest bytes with the declared alg (Ed25519/ES256/ES384/PS256) and attests the outcome via the required signature_verified input; the kernel does not re-verify. Trust posture is caller-supplied: zero network, no OCSP. Emits ACCEPT or REFUSE.


        **Tool URL:** https://ainumbers.co/chaingraph/art-124-content-credential-signature-verifier.html

        **AP2/Policy Mandate export:** yes'
      tags:
      - C2PA
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                alg:
                  type: string
                  enum:
                  - Ed25519
                  - ES256
                  - ES384
                  - PS256
                signature_verified:
                  type: boolean
                  description: result of the caller's signature check over the manifest bytes with the declared alg; the kernel does not re-verify
                trust_anchor_match:
                  type: boolean
                cert_not_expired:
                  type: boolean
                revocation_status:
                  type: string
              required:
              - alg
              - signature_verified
              - trust_anchor_match
              - revocation_status
      responses:
        '200':
          description: Successful tool execution result
          content:
            application/json:
              schema:
                type: object
                properties:
                  signature_verified:
                    type: boolean
                  signature_verification:
                    type: string
                    enum:
                    - caller_attested
                  caveats:
                    type: array
                    items:
                      type: string
                  chain_trusted:
                    type: boolean
                  alg:
                    type: string
                  alg_allowed:
                    type: boolean
                  verdict:
                    type: string
                    enum:
                    - ACCEPT
                    - REFUSE
      x-mcp-tool-name: verify_content_credential_signature
      x-tool-url: https://ainumbers.co/chaingraph/art-124-content-credential-signature-verifier.html
      x-source: manifest
      x-ap2-export: true
  /v1/tools/resolve_provenance_ingredient_tree:
    post:
      operationId: resolve_provenance_ingredient_tree
      summary: Provenance Ingredient Tree Resolver
      description: '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'
      tags:
      - C2PA
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                active_manifest_hash:
                  type: string
                ingredients:
                  type: array
              required:
              - active_manifest_hash
              - ingredients
      responses:
        '200':
          description: Successful tool execution result
          content:
            application/json:
              schema:
                type: object
                properties:
                  tree_intact:
                    type: boolean
                  depth:
                    type: integer
                  edges:
                    type: array
                  broken_edges:
                    type: array
                  root_ok:
                    type: boolean
      x-mcp-tool-name: resolve_provenance_ingredient_tree
      x-tool-url: https://ainumbers.co/chaingraph/art-125-provenance-ingredient-tree-resolver.html
      x-source: manifest
      x-ap2-export: true
  /v1/tools/validate_content_binding_assertion:
    post:
      operationId: validate_content_binding_assertion
      summary: Content Binding Assertion Validator
      description: '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'
      tags:
      - C2PA
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                binding_type:
                  type: string
                  enum:
                  - hard
                  - soft
                  - both
                asset_bytes_hash:
                  type: string
                claimed_hard_binding_hash:
                  type: string
                soft_binding_identifier_present:
                  type: boolean
              required:
              - binding_type
      responses:
        '200':
          description: Successful tool execution result
          content:
            application/json:
              schema:
                type: object
                properties:
                  binding_type:
                    type:
                    - string
                    - 'null'
                  hard_binding_matches:
                    type: boolean
                  tamper_evident:
                    type: boolean
                  soft_binding_present:
                    type: boolean
                  verdict:
                    type: string
                    enum:
                    - TAMPER_EVIDENT
                    - SOFT_BINDING_ONLY
                    - UNBOUND
      x-mcp-tool-name: validate_content_binding_assertion
      x-tool-url: https://ainumbers.co/chaingraph/art-128-content-binding-assertion-validator.html
      x-source: manifest
      x-ap2-export: true
x-mcp:
  transport: MCP JSON-RPC 2.0 (streamable HTTP)
  endpoint: https://mcp.ainumbers.co/mcp
  protocol_version: '2025-11-25'
  authentication: none
  registry: co.ainumbers/tools (official MCP registry)
  note: Connect any MCP-compatible client (Claude, ChatGPT, custom agent) directly to this endpoint. The REST paths in this file are descriptive only — they do not exist on the live server unless the REST shim is deployed.