AINumbers.co Rfc9421 API

The rfc9421 API from AINumbers.co — 3 operation(s) for rfc9421.

Operations 3

POST /v1/tools/verify_webbotauth_signature Web Bot Auth Signature Verifier (RFC 9421) #
POST /v1/tools/validate_signature_directory HTTP Signatures Directory Validator #
POST /v1/tools/check_jwks_pinned_directory JWKS Pinned-Directory Check #

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-rfc9421-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-rfc9421-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AINumbers.co Fintech Intelligence Suite Rfc9421 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: rfc9421
paths:
  /v1/tools/verify_webbotauth_signature:
    post:
      operationId: verify_webbotauth_signature
      summary: Web Bot Auth Signature Verifier (RFC 9421)
      description: 'Verify an RFC 9421 HTTP Message Signature for IETF Web Bot Auth (Ed25519). Reconstructs the signature base from covered components and @signature-params, verifies via crypto.subtle. Zero network, caller-supplied key. Emits ACCEPT or REFUSE.


        **Tool URL:** https://ainumbers.co/chaingraph/art-129-webbotauth-signature-verifier.html

        **AP2/Policy Mandate export:** yes'
      tags:
      - rfc9421
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                covered_components:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      value:
                        type: string
                    required:
                    - name
                    - value
                signature_params:
                  type: string
                signature_b64:
                  type: string
                public_key_jwk:
                  type: object
                alg:
                  type: string
                expected_tag:
                  type: string
                created:
                  type: number
                now_unix:
                  type: number
                max_age_s:
                  type: number
              required:
              - covered_components
              - signature_params
              - signature_b64
              - public_key_jwk
              - alg
      responses:
        '200':
          description: Successful tool execution result
          content:
            application/json:
              schema:
                type: object
                properties:
                  signature_cryptographically_valid:
                    type: boolean
                  alg_ok:
                    type: boolean
                  tag_ok:
                    type: boolean
                  fresh:
                    type:
                    - boolean
                    - 'null'
                  verdict:
                    type: string
                    enum:
                    - ACCEPT
                    - REFUSE
      x-mcp-tool-name: verify_webbotauth_signature
      x-tool-url: https://ainumbers.co/chaingraph/art-129-webbotauth-signature-verifier.html
      x-source: manifest
      x-ap2-export: true
  /v1/tools/validate_signature_directory:
    post:
      operationId: validate_signature_directory
      summary: HTTP Signatures Directory Validator
      description: 'Validate a /.well-known/http-message-signatures-directory JWKS: path correctness, all keys OKP+Ed25519, and keyid resolution. Emits VALID or INVALID.


        **Tool URL:** https://ainumbers.co/chaingraph/art-130-signature-directory-validator.html

        **AP2/Policy Mandate export:** yes'
      tags:
      - rfc9421
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                well_known_path:
                  type: string
                keyid:
                  type: string
                directory_jwks:
                  type: object
              required:
              - well_known_path
              - keyid
              - directory_jwks
      responses:
        '200':
          description: Successful tool execution result
          content:
            application/json:
              schema:
                type: object
                properties:
                  path_ok:
                    type: boolean
                  all_keys_ok:
                    type: boolean
                  keyid_resolved:
                    type: boolean
                  verdict:
                    type: string
                    enum:
                    - VALID
                    - INVALID
                  errors:
                    type: array
                    items:
                      type: string
      x-mcp-tool-name: validate_signature_directory
      x-tool-url: https://ainumbers.co/chaingraph/art-130-signature-directory-validator.html
      x-source: manifest
      x-ap2-export: true
  /v1/tools/check_jwks_pinned_directory:
    post:
      operationId: check_jwks_pinned_directory
      summary: JWKS Pinned-Directory Check
      description: 'Confirms a caller-supplied JWKS directory document matches a caller-pinned SHA-256 digest -- sha256(canonicalize(directory_jwks)) === pinned_digest -- before art-130 trusts the document''s internal shape. Canonicalization is this codebase''s one JCS/RFC-8785 canon (recursive key-sort, array order preserved), hashed as lowercase hex, so two honest callers hashing the same logical document land on the same digest. Zero network, zero key hosting: both the directory document and the pinned digest are supplied by the caller, never fetched, cached, or served by this tool. Chains before art-130 in the visa-tap-agent-verification chain, so a substituted directory fails before its shape is even checked.


        **Tool URL:** https://ainumbers.co/chaingraph/art-609-jwks-pinned-directory-check.html

        **AP2/Policy Mandate export:** yes'
      tags:
      - rfc9421
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                directory_jwks:
                  type: object
                pinned_digest:
                  type: string
              required:
              - directory_jwks
              - pinned_digest
      responses:
        '200':
          description: Successful tool execution result
          content:
            application/json:
              schema:
                type: object
                properties:
                  computed_digest:
                    type: string
                    description: sha256(canonicalize(directory_jwks)), lowercase hex.
                  pinned_digest:
                    type:
                    - string
                    - 'null'
                  pinned_digest_well_formed:
                    type: boolean
                    description: True only if pinned_digest is present and matches 64 lowercase-or-mixed-case hex characters.
                  digest_match:
                    type: boolean
                  key_count:
                    type: number
      x-mcp-tool-name: check_jwks_pinned_directory
      x-tool-url: https://ainumbers.co/chaingraph/art-609-jwks-pinned-directory-check.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.