{
  "openapi": "3.1.0",
  "info": {
    "title": "Rafael Lopes — agent page-readiness scoring (CAV)",
    "version": "1.0.0",
    "description": "Core Agent Vitals — measure how well an AI agent can find, recover, understand, and act on a web page (CRR, SSD, ARR, TC, TTFUT, AF).",
    "contact": {
      "name": "Rafael Lopes",
      "url": "https://r-lopes.com"
    }
  },
  "servers": [
    {
      "url": "https://agentvitals.dev"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "paths": {
    "/results": {
      "get": {
        "operationId": "getReport",
        "summary": "Core Agent Vitals report for a URL",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uri"
            },
            "description": "The page to report on."
          },
          {
            "name": "device",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile"
              ]
            },
            "description": "Device profile."
          }
        ],
        "responses": {
          "200": {
            "description": "Core Agent Vitals report for a URL"
          }
        }
      }
    },
    "/api/score": {
      "post": {
        "operationId": "scoreUrl",
        "summary": "Score a URL's Core Agent Vitals (API key required)",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "url"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri",
                    "description": "The page to score."
                  },
                  "fresh": {
                    "type": "boolean",
                    "description": "Force a fresh scan instead of the cached run."
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Score a URL's Core Agent Vitals (API key required)"
          }
        }
      }
    }
  },
  "_build": {
    "schema_version": "1.1",
    "hash": "987bc7bb",
    "canonical_sha256": "08ee74166dbc602d569bf1b4effc789075307805c3e6343a3a7efb1d537e8c19",
    "generator": "identity/generate.mjs",
    "canonical_url": "https://r-lopes.com/.well-known/identity.json"
  }
}
