{
  "openapi": "3.1.0",
  "info": {
    "title": "agent-site-audit",
    "version": "1.0.0",
    "description": "audito website audit API for autonomous agents and humans. Deterministic audits paid per call in USDC on Base via x402 (EIP-3009). No signup, no API keys, no accounts. WHAT YOU GET FOR THE PAYMENT: GET /audit?url=<target> (0.25 USDC) returns flat JSON of about 1 KB: HTTP status, latency, server, page title, content fingerprint, robots policy, redirect chain, sitemap status, viewport meta, JSON-LD, the full issue list and a 0-100 agent-readiness score. GET /report?url=<target> (0.25 USDC) returns that same audit as a self-contained HTML report for humans: score dial, every finding explained in plain language, and the exact fix to apply. GET /deep?url=<target> (0.25 USDC) returns a technical deep audit as JSON (append &format=html for the report): TLS certificate (issuer, expiry, SAN, protocol), the seven security headers, cookie flags, DNS and email security (SPF, DMARC, DKIM, CAA, MX), compression and caching, and AI-agent readiness (robots.txt, llms.txt, security.txt, blocked AI crawlers), every finding ranked critical/high/medium/low with a copy-paste fix. FREE: GET /scan?url=<target> previews three of nine checks. Results are deterministic and reproducible: the same target returns the same diagnosis. SSRF-guarded, ten second timeout, private and loopback targets refused. Settlement on Base mainnet.",
    "contact": {
      "email": "agente@audito.lat",
      "url": "https://agent.audito.lat"
    },
    "x-logo": {
      "url": "https://agent.audito.lat/favicon.ico"
    },
    "x-guidance": "audito: paid website audits for agents. Products: /audit (flat JSON, 0.25 USDC), /report (self-contained HTML report, 0.25 USDC), /deep (technical deep audit: TLS, seven security headers, cookies, DNS and email security SPF-DMARC-DKIM, delivery, AI-agent readiness; JSON, or &format=html for a report, 0.25 USDC). Flow: GET the endpoint, receive 402 with an x402 v2 challenge (USDC on Base, EIP-3009), sign the TransferWithAuthorization, retry with the X-Payment header, receive the result. Free preview: /scan?url=<target>. The paying wallet must hold at least the price; an unfunded signature is refused with reason payer_has_no_funds. Deterministic and reproducible, SSRF-guarded, no signup, no API keys."
  },
  "servers": [
    {
      "url": "https://agent.audito.lat"
    }
  ],
  "x-discovery": {
    "ownershipProofs": [
      "0x6B60905d1a4bC09c3F8a0248bC2209B6Fe2388Bf"
    ]
  },
  "paths": {
    "/report": {
      "get": {
        "operationId": "reportSite",
        "summary": "Human-readable HTML audit report of a website (score, findings and the exact fix for each)",
        "description": "Same audit as /audit but delivered as a self-contained HTML page for humans: 0-100 score dial, each finding in plain language, and the exact header/DNS/config to apply.",
        "security": [],
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Target http(s) URL to audit"
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.25"
          },
          "protocols": [
            {
              "x402": {
                "scheme": "exact",
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "payTo": "0x6B60905d1a4bC09c3F8a0248bC2209B6Fe2388Bf"
              }
            }
          ],
          "extensions": {
            "bazaar": {
              "info": {
                "input": {
                  "type": "http",
                  "method": "GET",
                  "queryParams": {
                    "url": {
                      "type": "string",
                      "required": true,
                      "description": "Target http(s) URL to audit"
                    }
                  }
                },
                "output": {
                  "type": "json",
                  "example": {
                    "contentType": "text/html",
                    "score": 76,
                    "findings": 3,
                    "paid": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "HTML report (text/html)"
          },
          "402": {
            "description": "Payment required (x402)"
          }
        }
      }
    },
    "/deep": {
      "get": {
        "operationId": "deepAuditSite",
        "summary": "Technical deep audit: TLS certificate, 7 security headers, cookies, DNS and email security (SPF/DMARC/DKIM), delivery and AI-agent readiness",
        "description": "Technical audit as JSON (append &format=html for an HTML report). Checks the TLS certificate, the 7 security headers, cookie flags, DNS and email security (SPF, DMARC, DKIM, CAA, MX), compression and caching, and AI-agent readiness (robots.txt, llms.txt, security.txt, blocked AI crawlers). Every finding is ranked critical/high/medium/low and includes the exact fix to apply.",
        "security": [],
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Target http(s) URL to audit"
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "html"
              ]
            },
            "description": "Output format; html returns a readable report"
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.25"
          },
          "protocols": [
            {
              "x402": {
                "scheme": "exact",
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "payTo": "0x6B60905d1a4bC09c3F8a0248bC2209B6Fe2388Bf"
              }
            }
          ],
          "extensions": {
            "bazaar": {
              "info": {
                "input": {
                  "type": "http",
                  "method": "GET",
                  "queryParams": {
                    "url": {
                      "type": "string",
                      "required": true,
                      "description": "Target http(s) URL to audit"
                    }
                  }
                },
                "output": {
                  "type": "json",
                  "example": {
                    "deep_score": 4,
                    "counts": {
                      "critical": 1,
                      "high": 3,
                      "medium": 4,
                      "low": 7
                    },
                    "paid": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Deep audit result (JSON, or HTML with format=html)"
          },
          "402": {
            "description": "Payment required (x402)"
          }
        }
      }
    },
    "/audit": {
      "get": {
        "operationId": "auditSite",
        "summary": "Website audit for agents and humans (0.25 USDC via x402): flat JSON with the full check list, the issues found, and a 0-100 agent-readiness score",
        "security": [],
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "Target http(s) URL to audit"
          }
        ],
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.25"
          },
          "protocols": [
            {
              "x402": {
                "scheme": "exact",
                "network": "eip155:8453",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "payTo": "0x6B60905d1a4bC09c3F8a0248bC2209B6Fe2388Bf"
              }
            }
          ],
          "extensions": {
            "bazaar": {
              "info": {
                "input": {
                  "type": "http",
                  "method": "GET",
                  "queryParams": {
                    "url": {
                      "type": "string",
                      "required": true,
                      "description": "Target http(s) URL to audit"
                    }
                  }
                },
                "output": {
                  "type": "json",
                  "example": {
                    "target": "https://example.com",
                    "score": 87,
                    "issues": [
                      "no_csp_header"
                    ],
                    "paid": true
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Audit result (JSON)"
          },
          "402": {
            "description": "Payment required (x402). Sign an EIP-3009 USDC TransferWithAuthorization and retry with the X-Payment header."
          }
        }
      }
    }
  }
}