{
  "openapi": "3.1.0",
  "info": {
    "title": "W-Axis Lab Public Discovery API",
    "version": "1.0.0",
    "description": "Crawler-readable public discovery endpoints and guarded intake endpoints for W-Axis Lab."
  },
  "servers": [
    {
      "url": "https://waxislab.pages.dev"
    }
  ],
  "paths": {
    "/llms.txt": {
      "get": {
        "summary": "Short agent-readable site guide",
        "responses": {
          "200": {
            "description": "text/plain"
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "summary": "Full agent-readable site guide",
        "responses": {
          "200": {
            "description": "text/plain"
          }
        }
      }
    },
    "/agent.json": {
      "get": {
        "summary": "Root agent descriptor",
        "responses": {
          "200": {
            "description": "application/json"
          }
        }
      }
    },
    "/schemas/founder-submission.schema.json": {
      "get": {
        "summary": "Thesis submission JSON Schema",
        "responses": {
          "200": {
            "description": "application/json"
          }
        }
      }
    },
    "/schemas/weak-signal.schema.json": {
      "get": {
        "summary": "Weak signal JSON Schema",
        "responses": {
          "200": {
            "description": "application/json"
          }
        }
      }
    },
    "/schemas/ghostvc-report.schema.json": {
      "get": {
        "summary": "GhostVC report JSON Schema",
        "responses": {
          "200": {
            "description": "application/json"
          }
        }
      }
    },
    "/api/ghostvc/submit": {
      "post": {
        "summary": "Guarded thesis intake endpoint",
        "description": "Human-facing multipart form endpoint with server-side validation, rate limiting, honeypot protection, optional Turnstile, and optional private R2 PDF storage.",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "/schemas/founder-submission.schema.json"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Submission accepted"
          },
          "400": {
            "description": "Validation failed"
          },
          "429": {
            "description": "Rate limited"
          }
        }
      }
    },
    "/api/weak-signal": {
      "post": {
        "summary": "Guarded weak-signal intake endpoint",
        "description": "Human-facing form endpoint with validation, rate limiting, honeypot protection, and optional Turnstile.",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "/schemas/weak-signal.schema.json"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Signal accepted"
          },
          "400": {
            "description": "Validation failed"
          },
          "429": {
            "description": "Rate limited"
          }
        }
      }
    }
  },
  "x-abuse-policy": {
    "public_write_api": "No unauthenticated machine write API is advertised. Human form endpoints are guarded and may be rate limited or disabled.",
    "private_resources": [
      "/admin",
      "/ghostvc/report",
      "/api/admin",
      "private deck objects"
    ]
  }
}
