{
 "openapi": "3.1.0",
 "info": {
  "title": "ROIASIC Firmware API",
  "version": "1.0.0",
  "description": "Read-only firmware authority for Antminer VNISH firmware. Flow: discover -> resolve route (model+board) -> download -> verify sha256 -> owner confirmation -> local install via toolkit -> validate. No remote flashing.",
  "contact": {
   "email": "partners@vnish.global"
  }
 },
 "servers": [
  {
   "url": "https://vnish.ninja"
  }
 ],
 "paths": {
  "/api/v1/models.json": {
   "get": {
    "summary": "List models, boards and routes",
    "description": "All 45 supported Antminer models with control boards and install-kit routes.",
    "operationId": "listModels",
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {}
      }
     }
    }
   }
  },
  "/api/v1/install-kits/{route}.json": {
   "get": {
    "summary": "Resolve install kit for a route",
    "description": "route = {model}-{board}-nand, e.g. s21pro-aml-nand. Returns exact file, SHA-256, gated steps, stop conditions, confirmation phrase.",
    "operationId": "getInstallKit",
    "parameters": [
     {
      "name": "route",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      },
      "example": "s21pro-aml-nand"
     }
    ],
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {}
      }
     }
    }
   }
  },
  "/api/v1/toolkit.json": {
   "get": {
    "summary": "Toolkit downloads and audit",
    "description": "Audited Install Toolkit 1.7.3 per platform with SHA-256.",
    "operationId": "getToolkit",
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {}
      }
     }
    }
   }
  },
  "/api/v1/checksums.json": {
   "get": {
    "summary": "Checksum manifest",
    "description": "Canonical SHA-256 for every firmware file.",
    "operationId": "getChecksums",
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {}
      }
     }
    }
   }
  },
  "/ai/agent-manifest.json": {
   "get": {
    "summary": "Agent manifest",
    "description": "Master discovery document for agents.",
    "operationId": "getAgentManifest",
    "responses": {
     "200": {
      "description": "OK",
      "content": {
       "application/json": {}
      }
     }
    }
   }
  }
 }
}