{
 "openapi": "3.1.0",
 "info": {
  "title": "Botlens read API",
  "version": "1.0.0",
  "description": "Static JSON. Submission endpoints are planned, not live."
 },
 "servers": [
  {
   "url": "https://botlens.cc"
  }
 ],
 "paths": {
  "/api/v1/index.json": {
   "get": {
    "summary": "Catalog manifest",
    "responses": {
     "200": {
      "description": "OK"
     }
    }
   }
  },
  "/api/v1/search/{shard}.json": {
   "get": {
    "summary": "Search shard (SC-n or U-n)",
    "parameters": [
     {
      "name": "shard",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Array of rows"
     }
    }
   }
  },
  "/api/v1/bots/{chunk}.json": {
   "get": {
    "summary": "Full bot records, chunk=floor(id/250)",
    "parameters": [
     {
      "name": "chunk",
      "in": "path",
      "required": true,
      "schema": {
       "type": "integer"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Array of bots"
     }
    }
   }
  },
  "/api/v1/categories.json": {
   "get": {
    "summary": "Categories",
    "responses": {
     "200": {
      "description": "OK"
     }
    }
   }
  },
  "/api/submissions": {
   "post": {
    "summary": "Submit a bot (PLANNED, not live)",
    "responses": {
     "202": {
      "description": "Accepted"
     }
    }
   }
  },
  "/api/submissions/{id}": {
   "get": {
    "summary": "Submission status (PLANNED)",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string"
      }
     }
    ],
    "responses": {
     "200": {
      "description": "OK"
     }
    }
   }
  }
 }
}