{
  "openapi": "3.1.0",
  "info": {
    "title": "IntentGuard API",
    "version": "0.3.0",
    "description": "x402-paid pre-generation intent verification for AI image agents. Returns GO, FIX, or ASK before rendering."
  },
  "servers": [
    {
      "url": "https://intentguard.hatchable.site"
    }
  ],
  "paths": {
    "/api/intent-check": {
      "post": {
        "operationId": "checkImageIntent",
        "summary": "Check whether an image-generation plan matches the user's intent",
        "description": "Requires 0.0009 USDC on Base mainnet via x402 V2.",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.0009"
          },
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xcd461ac1783b22c4610d1d34f8fb01063532cb9e"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "user_request",
                  "agent_plan"
                ],
                "properties": {
                  "user_request": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 12000
                  },
                  "agent_plan": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 12000
                  },
                  "reference_notes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "GO, FIX or ASK decision"
          },
          "400": {
            "description": "Invalid request"
          },
          "402": {
            "description": "x402 payment required"
          }
        }
      }
    }
  },
  "x-discovery": {
    "ownershipProofs": [
      "0xcd461ac1783b22c4610d1d34f8fb01063532cb9e"
    ]
  }
}