_done Validation API

The Validation API from _done — 1 operation(s) for validation.

Operations 1

POST /check Checks if a domain's email logo branding setup is valid and ready to display. #

Documentation

📖
Documentation
https://underscoredone.com/asn_lookup/
📖
APIReference
https://underscoredone.com/asn_lookup/
📖
Documentation
https://underscoredone.com/bimi_checker/
📖
APIReference
https://underscoredone.com/bimi_checker/
📖
Documentation
https://underscoredone.com/cors_header_checker/
📖
APIReference
https://underscoredone.com/cors_header_checker/
📖
Documentation
https://underscoredone.com/cpi_report_us/
📖
APIReference
https://underscoredone.com/cpi_report_us/
📖
Documentation
https://underscoredone.com/curl_http_request/
📖
APIReference
https://underscoredone.com/curl_http_request/
📖
Documentation
https://underscoredone.com/directory_submission_lite/
📖
APIReference
https://underscoredone.com/directory_submission_lite/
📖
Documentation
https://underscoredone.com/dmarc_lookup/
📖
APIReference
https://underscoredone.com/dmarc_lookup/
📖
Documentation
https://underscoredone.com/dns_whois_lookup/
📖
APIReference
https://underscoredone.com/dns_whois_lookup/
📖
Documentation
https://underscoredone.com/domain_age_checker/
📖
APIReference
https://underscoredone.com/domain_age_checker/
📖
Documentation
https://underscoredone.com/domain_availability_checker/
📖
APIReference
https://underscoredone.com/domain_availability_checker/
📖
Documentation
https://underscoredone.com/ens_resolver/
📖
APIReference
https://underscoredone.com/ens_resolver/
📖
Documentation
https://underscoredone.com/hackernews_data/
📖
APIReference
https://underscoredone.com/hackernews_data/
📖
Documentation
https://underscoredone.com/hash_hmac/
📖
APIReference
https://underscoredone.com/hash_hmac/
📖
Documentation
https://underscoredone.com/http_header_checker/
📖
APIReference
https://underscoredone.com/http_header_checker/
📖
Documentation
https://underscoredone.com/http_status_checker/
📖
APIReference
https://underscoredone.com/http_status_checker/
📖
Documentation
https://underscoredone.com/json_suite/
📖
APIReference
https://underscoredone.com/json_suite/
📖
Documentation
https://underscoredone.com/leetspeak_translator/
📖
APIReference
https://underscoredone.com/leetspeak_translator/
📖
Documentation
https://underscoredone.com/mortgage_amortization/
📖
APIReference
https://underscoredone.com/mortgage_amortization/
📖
Documentation
https://underscoredone.com/ocr/
📖
APIReference
https://underscoredone.com/ocr/
📖
Documentation
https://underscoredone.com/port_scanner/
📖
APIReference
https://underscoredone.com/port_scanner/
📖
Documentation
https://underscoredone.com/qr_code_generator/
📖
APIReference
https://underscoredone.com/qr_code_generator/
📖
Documentation
https://underscoredone.com/screenshots/
📖
APIReference
https://underscoredone.com/screenshots/
📖
Documentation
https://underscoredone.com/seo_data_extractor/
📖
APIReference
https://underscoredone.com/seo_data_extractor/
📖
Documentation
https://underscoredone.com/shopify_ai_rank_checker/
📖
APIReference
https://underscoredone.com/shopify_ai_rank_checker/
📖
Documentation
https://underscoredone.com/sitemap_url_extractor/
📖
APIReference
https://underscoredone.com/sitemap_url_extractor/
📖
Documentation
https://underscoredone.com/url_uptime_checker/
📖
APIReference
https://underscoredone.com/url_uptime_checker/

Specifications

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/done-validation-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

done-validation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BIMI Checker Validation API
  description: Checks one or more website addresses to see if they are properly set up to show a brand logo next to emails in inboxes like Gmail, Apple Mail, and Yahoo. It looks up the special settings the domain has published, checks that the logo picture follows the required format, checks that a security certificate for the logo (if any) is valid and not expired, and confirms the domain has strict enough email protection rules turned on. It returns a clear pass or fail for each domain along with a plain list of what is broken if something fails.
  version: 1.0.0
  contact:
    name: _done
    url: https://forms.gle/5KzuSFH7p8hHtDmz7
    email: info@underscoredone.com
  x-openapi-url: https://bimi-checker.underscoredone.com/openapi.json
  x-logo:
    url: https://underscoredone.com/logo.png
    altText: _done
  x-guidance: Call this when a user asks whether a domain's email logo (BIMI) setup will work, why a brand logo is not showing in inboxes, or to audit email branding for one or more domains. Submit domains without http/https prefixes. Limit to 10 domains per call. Set check_vmc to false for a faster, cheaper check when certificate validation is not needed. Read the issues list per domain to explain failures in plain terms.
  x-ai-instructions: Call this when a user asks whether a domain's email logo (BIMI) setup will work, why a brand logo is not showing in inboxes, or to audit email branding for one or more domains. Submit domains without http/https prefixes. Limit to 10 domains per call. Set check_vmc to false for a faster, cheaper check when certificate validation is not needed. Read the issues list per domain to explain failures in plain terms.
  x-provider: _done — single-purpose utility APIs for developers and AI agents. Pay per call with USDC on Base Mainnet or Solana Mainnet.
  x-pricing:
    model: pay-per-call
    currency: USDC
    network: Base Mainnet or Solana Mainnet
    price: $0.01
  x-keywords:
  - bimi
  - bimi checker
  - email branding
  - dmarc
  - vmc certificate
  - email authentication
  - brand indicators for message identification
  - logo validation
  - email deliverability
  - svg validation
  - inbox logo
  - domain email setup
  - utility
  - api
  - ai-agent
  - pay-per-call
  - usdc
  - x402
  - validation
  - bimi validation
  - dmarc check
  - logo verification
  x-category: validation
  x-provider-url: https://underscoredone.com
  x-agentcash-auth:
    mode: paid
  x-402:
    price: $0.01
    network: eip155:8453
    asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
    pay_to: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
    facilitator: https://api.cdp.coinbase.com/platform/v2/x402
    scheme: exact
    description: Checks one or more website addresses to see if they are properly set up to show a brand logo next to emails in inboxes like Gmail, Apple Mail, and Yahoo. It looks up the special settings the domain has published, checks that the logo picture follows the required format, checks that a security certificate for the logo (if any) is valid and not expired, and confirms the domain has strict enough email protection rules turned on. It returns a clear pass or fail for each domain along with a plain list of what is broken if something fails.
    mime_type: application/json
    networks:
    - network: eip155:8453
      asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
      pay_to: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
    - network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
      asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
      pay_to: 8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b
servers:
- url: https://bimi-checker.underscoredone.com
  description: Production
tags:
- name: Validation
paths:
  /check:
    post:
      tags:
      - Validation
      summary: Checks if a domain's email logo branding setup is valid and ready to display.
      description: Checks one or more website addresses to see if their email branding logo setup will work correctly, and explains what is wrong if it will not.
      operationId: handler_check_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Request'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
              examples:
                success:
                  summary: Successful response
                  value:
                    api_version: 1.0.0
        '422':
          description: Unprocessable — a required field is missing or the wrong type. Check the detail field for specifics.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: array
        '402':
          description: Payment required. Send a signed USDC payment on Base Mainnet or Solana Mainnet using the x402 protocol.
          headers:
            X-Payment-Response:
              description: x402 payment challenge — base64-encoded JSON with payment details.
              schema:
                type: string
        '400':
          description: Bad request — your input failed validation or could not be processed. Check the detail field for specifics.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
      x-ai-instructions: Call this when a user asks whether a domain's email logo (BIMI) setup will work, why a brand logo is not showing in inboxes, or to audit email branding for one or more domains. Submit domains without http/https prefixes. Limit to 10 domains per call. Set check_vmc to false for a faster, cheaper check when certificate validation is not needed. Read the issues list per domain to explain failures in plain terms.
      x-guidance: Call this when a user asks whether a domain's email logo (BIMI) setup will work, why a brand logo is not showing in inboxes, or to audit email branding for one or more domains. Submit domains without http/https prefixes. Limit to 10 domains per call. Set check_vmc to false for a faster, cheaper check when certificate validation is not needed. Read the issues list per domain to explain failures in plain terms.
      x-payment-info:
        price:
          fixed:
            mode: fixed
            currency: USD
            amount: '0.01'
        protocols:
        - x402: {}
components:
  schemas:
    Request:
      properties:
        domains:
          items:
            type: string
          type: array
          title: Domains
          description: List of website addresses to check, such as example.com. Up to 10 per request. Do not include http:// or https://.
        selector:
          type: string
          title: Selector
          description: The label used to find the branding settings, almost always 'default'. Only change this if the domain uses a custom label.
          default: default
        check_vmc:
          type: boolean
          title: Check Vmc
          description: Whether to also verify the logo's security certificate. Turn off for a quicker check.
          default: true
      type: object
      required:
      - domains
      title: Request
      example:
        check_vmc: true
        domains:
        - example.com
        - brand.co
        selector: default
    DomainResult:
      properties:
        domain:
          type: string
          title: Domain
          description: The website address that was checked.
        selector:
          type: string
          title: Selector
          description: The label used to find the branding settings for this website.
        valid:
          type: boolean
          title: Valid
          description: Whether the branding setup is fully correct and ready to display a logo.
        issues:
          items:
            type: string
          type: array
          title: Issues
          description: A plain list of everything that is broken, if anything.
        checks:
          $ref: '#/components/schemas/DomainCheckDetail'
          description: The individual results for each part of the check.
      type: object
      required:
      - domain
      - selector
      - valid
      - issues
      - checks
      title: DomainResult
      example:
        checks:
          bimi_record_found: false
          dmarc_strict: false
        domain: example.com
        issues:
        - No BIMI TXT record found at default._bimi.example.com
        selector: default
        valid: false
    Response:
      properties:
        api_version:
          type: string
          title: Api Version
          description: The version of this checking service.
          default: 1.0.0
        checked:
          type: integer
          title: Checked
          description: How many website addresses were checked.
        results:
          items:
            $ref: '#/components/schemas/DomainResult'
          type: array
          title: Results
          description: The check results for each website address, in the order submitted.
      type: object
      required:
      - checked
      - results
      title: Response
      example:
        api_version: 1.0.0
        checked: 1
        results:
        - checks:
            bimi_record_found: false
            dmarc_strict: false
          domain: example.com
          issues:
          - No BIMI TXT record found at default._bimi.example.com
          selector: default
          valid: false
    DomainCheckDetail:
      properties:
        bimi_record_found:
          type: boolean
          title: Bimi Record Found
          description: Whether the special branding settings were found for this website.
        svg_valid:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Svg Valid
          description: Whether the logo picture follows the required format. Empty if it was not checked.
        vmc_valid:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Vmc Valid
          description: Whether the logo's security certificate is valid and not expired. Empty if it was not checked.
        dmarc_strict:
          type: boolean
          title: Dmarc Strict
          description: Whether the domain has strict enough email protection rules turned on.
      type: object
      required:
      - bimi_record_found
      - dmarc_strict
      title: DomainCheckDetail
      example:
        bimi_record_found: false
        dmarc_strict: false
  securitySchemes:
    siwx:
      type: apiKey
      in: header
      name: SIGN-IN-WITH-X
      description: CAIP-122 wallet signature for repeat access after payment
x-payment-accepts:
- scheme: exact
  network: eip155:8453
  payTo: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
  asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
- scheme: exact
  network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
  payTo: 8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b
  asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v