{
  "openapi": "3.1.0",
  "info": {
    "title": "Search API",
    "version": "1.0.0",
    "description": "Structured web metasearch for AI agents. Requests cost $0.001 USDC through x402 on Base."
  },
  "servers": [
    {
      "url": "https://search.dkta.dev",
      "description": "Production"
    }
  ],
  "paths": {
    "/v1/search": {
      "get": {
        "operationId": "searchWeb",
        "summary": "Search the web",
        "description": "Returns structured results from the configured metasearch engines. An unpaid request returns HTTP 402 with x402 payment requirements.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "Search query",
            "schema": { "type": "string" }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Requested result count; defaults to 10",
            "schema": { "type": "integer", "default": 10 }
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "description": "Result locale",
            "schema": { "type": "string", "default": "en-US", "example": "en-US" }
          }
        ],
        "security": [
          { "x402Payment": [] }
        ],
        "responses": {
          "200": {
            "description": "Structured search results",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/SearchResponse" }
              }
            }
          },
          "400": {
            "description": "Missing query"
          },
          "402": {
            "description": "x402 payment required"
          },
          "502": {
            "description": "Metasearch upstream failed"
          },
          "500": {
            "description": "Metasearch request failed"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "x402Payment": {
        "type": "apiKey",
        "in": "header",
        "name": "X-PAYMENT",
        "description": "Signed x402 payment payload obtained from the HTTP 402 response"
      }
    },
    "schemas": {
      "SearchResult": {
        "type": "object",
        "required": ["title", "url", "description", "engine"],
        "properties": {
          "title": { "type": "string" },
          "url": { "type": "string", "format": "uri" },
          "description": { "type": ["string", "null"] },
          "engine": { "type": "string" }
        }
      },
      "SearchResponse": {
        "type": "object",
        "required": ["query", "count", "results"],
        "properties": {
          "query": { "type": "string" },
          "count": { "type": "integer", "minimum": 0 },
          "results": {
            "type": "array",
            "items": { "$ref": "#/components/schemas/SearchResult" }
          }
        }
      }
    }
  }
}
