{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://agentweb.us/.well-known/readiness-scan.schema.json",
  "title": "AgentWeb Readiness Scan Request",
  "type": "object",
  "required": ["url"],
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Public business URL or customer-approved staging URL to scan."
    },
    "session_id": {
      "type": "string",
      "description": "Stable per agent/customer attempt when available. Used for attribution, not authorization."
    },
    "business_category": {
      "type": "string",
      "description": "Optional customer-supplied business category."
    },
    "desired_action": {
      "type": "string",
      "description": "Optional action the requesting agent wants the business to support."
    },
    "agent_protocol": {
      "type": "string",
      "enum": ["a2a", "mcp", "openapi", "direct_api", "human_web", "unknown"]
    },
    "discovery_surface": {
      "type": "string",
      "enum": [
        "a2a_agent_card",
        "mcp_registry",
        "openapi_spec",
        "llms_txt",
        "agents_json",
        "web_search",
        "direct_api",
        "human_web",
        "partner_referral",
        "unknown"
      ]
    },
    "agent": {
      "type": "object",
      "properties": {
        "id": { "type": "string" },
        "name": { "type": "string" },
        "provider": { "type": "string" }
      }
    },
    "payment_session_intent": {
      "type": "string",
      "enum": ["none", "quote", "setup_session", "agent_payment"]
    },
    "scan_authorization": {
      "type": "boolean",
      "description": "True when the requester is authorized to scan the target business."
    }
  },
  "additionalProperties": false
}
