{
  "openapi": "3.0.0",
  "info": {
    "title": "DirFast API",
    "version": "0.4.0",
    "description": "Dependency-free website/domain diagnostics for AI agents."
  },
  "servers": [
    {
      "url": "http://pseo.rovy.tech/api"
    }
  ],
  "paths": {
    "/v1/dns": {
      "get": {
        "summary": "Full DNS records",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": true,
            "description": "domain name",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/v1/ssl": {
      "get": {
        "summary": "TLS certificate info",
        "parameters": [
          {
            "name": "host",
            "in": "query",
            "required": true,
            "description": "hostname",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/v1/security-headers": {
      "get": {
        "summary": "Security header audit",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "page url",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/v1/badge": {
      "get": {
        "summary": "SVG security-grade badge",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "page url",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/v1/redirects": {
      "get": {
        "summary": "Redirect chain",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "page url",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/v1/seo": {
      "get": {
        "summary": "SEO meta audit",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "page url",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/v1/robots": {
      "get": {
        "summary": "Parse robots.txt",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "site url",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/v1/head": {
      "get": {
        "summary": "HTTP status/headers/latency",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "page url",
            "schema": {
              "type": "string"
            }
          }
        ]
      }
    },
    "/v1/ip": {
      "get": {
        "summary": "Caller IP"
      }
    },
    "/v1/stats": {
      "get": {
        "summary": "Aggregate usage"
      }
    },
    "/v1/x402.json": {
      "get": {
        "summary": "Machine-readable paid offer (x402)"
      }
    },
    "/v1/paid/audit": {
      "get": {
        "summary": "PAID: composite site audit (x402/USDC)",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "page url",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "402": {
            "description": "Payment required (x402 exact scheme)"
          }
        }
      }
    }
  }
}