{
  "openapi": "3.0.1",
  "info": {
    "title": "Halo",
    "version": "2.17.0-SNAPSHOT"
  },
  "servers": [
    {
      "url": "http://localhost:8091",
      "description": "Generated server url"
    }
  ],
  "security": [
    {
      "basicAuth": [],
      "bearerAuth": []
    }
  ],
  "paths": {
    "/api/v1alpha1/annotationsettings": {
      "get": {
        "description": "List AnnotationSetting",
        "operationId": "listAnnotationSetting",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AnnotationSettingList"
                }
              }
            },
            "description": "Response annotationsettings"
          }
        },
        "tags": [
          "AnnotationSettingV1alpha1"
        ]
      },
      "post": {
        "description": "Create AnnotationSetting",
        "operationId": "createAnnotationSetting",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/AnnotationSetting"
              }
            }
          },
          "description": "Fresh annotationsetting"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AnnotationSetting"
                }
              }
            },
            "description": "Response annotationsettings created just now"
          }
        },
        "tags": [
          "AnnotationSettingV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/annotationsettings/{name}": {
      "delete": {
        "description": "Delete AnnotationSetting",
        "operationId": "deleteAnnotationSetting",
        "parameters": [
          {
            "description": "Name of annotationsetting",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response annotationsetting deleted just now"
          }
        },
        "tags": [
          "AnnotationSettingV1alpha1"
        ]
      },
      "get": {
        "description": "Get AnnotationSetting",
        "operationId": "getAnnotationSetting",
        "parameters": [
          {
            "description": "Name of annotationsetting",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AnnotationSetting"
                }
              }
            },
            "description": "Response single annotationsetting"
          }
        },
        "tags": [
          "AnnotationSettingV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch AnnotationSetting",
        "operationId": "patchAnnotationSetting",
        "parameters": [
          {
            "description": "Name of annotationsetting",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AnnotationSetting"
                }
              }
            },
            "description": "Response annotationsetting patched just now"
          }
        },
        "tags": [
          "AnnotationSettingV1alpha1"
        ]
      },
      "put": {
        "description": "Update AnnotationSetting",
        "operationId": "updateAnnotationSetting",
        "parameters": [
          {
            "description": "Name of annotationsetting",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/AnnotationSetting"
              }
            }
          },
          "description": "Updated annotationsetting"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AnnotationSetting"
                }
              }
            },
            "description": "Response annotationsettings updated just now"
          }
        },
        "tags": [
          "AnnotationSettingV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/configmaps": {
      "get": {
        "description": "List ConfigMap",
        "operationId": "listConfigMap",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigMapList"
                }
              }
            },
            "description": "Response configmaps"
          }
        },
        "tags": [
          "ConfigMapV1alpha1"
        ]
      },
      "post": {
        "description": "Create ConfigMap",
        "operationId": "createConfigMap",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ConfigMap"
              }
            }
          },
          "description": "Fresh configmap"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigMap"
                }
              }
            },
            "description": "Response configmaps created just now"
          }
        },
        "tags": [
          "ConfigMapV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/configmaps/{name}": {
      "delete": {
        "description": "Delete ConfigMap",
        "operationId": "deleteConfigMap",
        "parameters": [
          {
            "description": "Name of configmap",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response configmap deleted just now"
          }
        },
        "tags": [
          "ConfigMapV1alpha1"
        ]
      },
      "get": {
        "description": "Get ConfigMap",
        "operationId": "getConfigMap",
        "parameters": [
          {
            "description": "Name of configmap",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigMap"
                }
              }
            },
            "description": "Response single configmap"
          }
        },
        "tags": [
          "ConfigMapV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch ConfigMap",
        "operationId": "patchConfigMap",
        "parameters": [
          {
            "description": "Name of configmap",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigMap"
                }
              }
            },
            "description": "Response configmap patched just now"
          }
        },
        "tags": [
          "ConfigMapV1alpha1"
        ]
      },
      "put": {
        "description": "Update ConfigMap",
        "operationId": "updateConfigMap",
        "parameters": [
          {
            "description": "Name of configmap",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ConfigMap"
              }
            }
          },
          "description": "Updated configmap"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigMap"
                }
              }
            },
            "description": "Response configmaps updated just now"
          }
        },
        "tags": [
          "ConfigMapV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/menuitems": {
      "get": {
        "description": "List MenuItem",
        "operationId": "listMenuItem",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/MenuItemList"
                }
              }
            },
            "description": "Response menuitems"
          }
        },
        "tags": [
          "MenuItemV1alpha1"
        ]
      },
      "post": {
        "description": "Create MenuItem",
        "operationId": "createMenuItem",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/MenuItem"
              }
            }
          },
          "description": "Fresh menuitem"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/MenuItem"
                }
              }
            },
            "description": "Response menuitems created just now"
          }
        },
        "tags": [
          "MenuItemV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/menuitems/{name}": {
      "delete": {
        "description": "Delete MenuItem",
        "operationId": "deleteMenuItem",
        "parameters": [
          {
            "description": "Name of menuitem",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response menuitem deleted just now"
          }
        },
        "tags": [
          "MenuItemV1alpha1"
        ]
      },
      "get": {
        "description": "Get MenuItem",
        "operationId": "getMenuItem",
        "parameters": [
          {
            "description": "Name of menuitem",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/MenuItem"
                }
              }
            },
            "description": "Response single menuitem"
          }
        },
        "tags": [
          "MenuItemV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch MenuItem",
        "operationId": "patchMenuItem",
        "parameters": [
          {
            "description": "Name of menuitem",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/MenuItem"
                }
              }
            },
            "description": "Response menuitem patched just now"
          }
        },
        "tags": [
          "MenuItemV1alpha1"
        ]
      },
      "put": {
        "description": "Update MenuItem",
        "operationId": "updateMenuItem",
        "parameters": [
          {
            "description": "Name of menuitem",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/MenuItem"
              }
            }
          },
          "description": "Updated menuitem"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/MenuItem"
                }
              }
            },
            "description": "Response menuitems updated just now"
          }
        },
        "tags": [
          "MenuItemV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/menus": {
      "get": {
        "description": "List Menu",
        "operationId": "listMenu",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/MenuList"
                }
              }
            },
            "description": "Response menus"
          }
        },
        "tags": [
          "MenuV1alpha1"
        ]
      },
      "post": {
        "description": "Create Menu",
        "operationId": "createMenu",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Menu"
              }
            }
          },
          "description": "Fresh menu"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Menu"
                }
              }
            },
            "description": "Response menus created just now"
          }
        },
        "tags": [
          "MenuV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/menus/{name}": {
      "delete": {
        "description": "Delete Menu",
        "operationId": "deleteMenu",
        "parameters": [
          {
            "description": "Name of menu",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response menu deleted just now"
          }
        },
        "tags": [
          "MenuV1alpha1"
        ]
      },
      "get": {
        "description": "Get Menu",
        "operationId": "getMenu",
        "parameters": [
          {
            "description": "Name of menu",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Menu"
                }
              }
            },
            "description": "Response single menu"
          }
        },
        "tags": [
          "MenuV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Menu",
        "operationId": "patchMenu",
        "parameters": [
          {
            "description": "Name of menu",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Menu"
                }
              }
            },
            "description": "Response menu patched just now"
          }
        },
        "tags": [
          "MenuV1alpha1"
        ]
      },
      "put": {
        "description": "Update Menu",
        "operationId": "updateMenu",
        "parameters": [
          {
            "description": "Name of menu",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Menu"
              }
            }
          },
          "description": "Updated menu"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Menu"
                }
              }
            },
            "description": "Response menus updated just now"
          }
        },
        "tags": [
          "MenuV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/rolebindings": {
      "get": {
        "description": "List RoleBinding",
        "operationId": "listRoleBinding",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/RoleBindingList"
                }
              }
            },
            "description": "Response rolebindings"
          }
        },
        "tags": [
          "RoleBindingV1alpha1"
        ]
      },
      "post": {
        "description": "Create RoleBinding",
        "operationId": "createRoleBinding",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/RoleBinding"
              }
            }
          },
          "description": "Fresh rolebinding"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/RoleBinding"
                }
              }
            },
            "description": "Response rolebindings created just now"
          }
        },
        "tags": [
          "RoleBindingV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/rolebindings/{name}": {
      "delete": {
        "description": "Delete RoleBinding",
        "operationId": "deleteRoleBinding",
        "parameters": [
          {
            "description": "Name of rolebinding",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response rolebinding deleted just now"
          }
        },
        "tags": [
          "RoleBindingV1alpha1"
        ]
      },
      "get": {
        "description": "Get RoleBinding",
        "operationId": "getRoleBinding",
        "parameters": [
          {
            "description": "Name of rolebinding",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/RoleBinding"
                }
              }
            },
            "description": "Response single rolebinding"
          }
        },
        "tags": [
          "RoleBindingV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch RoleBinding",
        "operationId": "patchRoleBinding",
        "parameters": [
          {
            "description": "Name of rolebinding",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/RoleBinding"
                }
              }
            },
            "description": "Response rolebinding patched just now"
          }
        },
        "tags": [
          "RoleBindingV1alpha1"
        ]
      },
      "put": {
        "description": "Update RoleBinding",
        "operationId": "updateRoleBinding",
        "parameters": [
          {
            "description": "Name of rolebinding",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/RoleBinding"
              }
            }
          },
          "description": "Updated rolebinding"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/RoleBinding"
                }
              }
            },
            "description": "Response rolebindings updated just now"
          }
        },
        "tags": [
          "RoleBindingV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/roles": {
      "get": {
        "description": "List Role",
        "operationId": "listRole",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/RoleList"
                }
              }
            },
            "description": "Response roles"
          }
        },
        "tags": [
          "RoleV1alpha1"
        ]
      },
      "post": {
        "description": "Create Role",
        "operationId": "createRole",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Role"
              }
            }
          },
          "description": "Fresh role"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            },
            "description": "Response roles created just now"
          }
        },
        "tags": [
          "RoleV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/roles/{name}": {
      "delete": {
        "description": "Delete Role",
        "operationId": "deleteRole",
        "parameters": [
          {
            "description": "Name of role",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response role deleted just now"
          }
        },
        "tags": [
          "RoleV1alpha1"
        ]
      },
      "get": {
        "description": "Get Role",
        "operationId": "getRole",
        "parameters": [
          {
            "description": "Name of role",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            },
            "description": "Response single role"
          }
        },
        "tags": [
          "RoleV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Role",
        "operationId": "patchRole",
        "parameters": [
          {
            "description": "Name of role",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            },
            "description": "Response role patched just now"
          }
        },
        "tags": [
          "RoleV1alpha1"
        ]
      },
      "put": {
        "description": "Update Role",
        "operationId": "updateRole",
        "parameters": [
          {
            "description": "Name of role",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Role"
              }
            }
          },
          "description": "Updated role"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            },
            "description": "Response roles updated just now"
          }
        },
        "tags": [
          "RoleV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/secrets": {
      "get": {
        "description": "List Secret",
        "operationId": "listSecret",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SecretList"
                }
              }
            },
            "description": "Response secrets"
          }
        },
        "tags": [
          "SecretV1alpha1"
        ]
      },
      "post": {
        "description": "Create Secret",
        "operationId": "createSecret",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Secret"
              }
            }
          },
          "description": "Fresh secret"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Secret"
                }
              }
            },
            "description": "Response secrets created just now"
          }
        },
        "tags": [
          "SecretV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/secrets/{name}": {
      "delete": {
        "description": "Delete Secret",
        "operationId": "deleteSecret",
        "parameters": [
          {
            "description": "Name of secret",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response secret deleted just now"
          }
        },
        "tags": [
          "SecretV1alpha1"
        ]
      },
      "get": {
        "description": "Get Secret",
        "operationId": "getSecret",
        "parameters": [
          {
            "description": "Name of secret",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Secret"
                }
              }
            },
            "description": "Response single secret"
          }
        },
        "tags": [
          "SecretV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Secret",
        "operationId": "patchSecret",
        "parameters": [
          {
            "description": "Name of secret",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Secret"
                }
              }
            },
            "description": "Response secret patched just now"
          }
        },
        "tags": [
          "SecretV1alpha1"
        ]
      },
      "put": {
        "description": "Update Secret",
        "operationId": "updateSecret",
        "parameters": [
          {
            "description": "Name of secret",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Secret"
              }
            }
          },
          "description": "Updated secret"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Secret"
                }
              }
            },
            "description": "Response secrets updated just now"
          }
        },
        "tags": [
          "SecretV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/settings": {
      "get": {
        "description": "List Setting",
        "operationId": "listSetting",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SettingList"
                }
              }
            },
            "description": "Response settings"
          }
        },
        "tags": [
          "SettingV1alpha1"
        ]
      },
      "post": {
        "description": "Create Setting",
        "operationId": "createSetting",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Setting"
              }
            }
          },
          "description": "Fresh setting"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Setting"
                }
              }
            },
            "description": "Response settings created just now"
          }
        },
        "tags": [
          "SettingV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/settings/{name}": {
      "delete": {
        "description": "Delete Setting",
        "operationId": "deleteSetting",
        "parameters": [
          {
            "description": "Name of setting",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response setting deleted just now"
          }
        },
        "tags": [
          "SettingV1alpha1"
        ]
      },
      "get": {
        "description": "Get Setting",
        "operationId": "getSetting",
        "parameters": [
          {
            "description": "Name of setting",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Setting"
                }
              }
            },
            "description": "Response single setting"
          }
        },
        "tags": [
          "SettingV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Setting",
        "operationId": "patchSetting",
        "parameters": [
          {
            "description": "Name of setting",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Setting"
                }
              }
            },
            "description": "Response setting patched just now"
          }
        },
        "tags": [
          "SettingV1alpha1"
        ]
      },
      "put": {
        "description": "Update Setting",
        "operationId": "updateSetting",
        "parameters": [
          {
            "description": "Name of setting",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Setting"
              }
            }
          },
          "description": "Updated setting"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Setting"
                }
              }
            },
            "description": "Response settings updated just now"
          }
        },
        "tags": [
          "SettingV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/users": {
      "get": {
        "description": "List User",
        "operationId": "listUser",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/UserList"
                }
              }
            },
            "description": "Response users"
          }
        },
        "tags": [
          "UserV1alpha1"
        ]
      },
      "post": {
        "description": "Create User",
        "operationId": "createUser",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/User"
              }
            }
          },
          "description": "Fresh user"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "Response users created just now"
          }
        },
        "tags": [
          "UserV1alpha1"
        ]
      }
    },
    "/api/v1alpha1/users/{name}": {
      "delete": {
        "description": "Delete User",
        "operationId": "deleteUser",
        "parameters": [
          {
            "description": "Name of user",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response user deleted just now"
          }
        },
        "tags": [
          "UserV1alpha1"
        ]
      },
      "get": {
        "description": "Get User",
        "operationId": "getUser",
        "parameters": [
          {
            "description": "Name of user",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "Response single user"
          }
        },
        "tags": [
          "UserV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch User",
        "operationId": "patchUser",
        "parameters": [
          {
            "description": "Name of user",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "Response user patched just now"
          }
        },
        "tags": [
          "UserV1alpha1"
        ]
      },
      "put": {
        "description": "Update User",
        "operationId": "updateUser",
        "parameters": [
          {
            "description": "Name of user",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/User"
              }
            }
          },
          "description": "Updated user"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "Response users updated just now"
          }
        },
        "tags": [
          "UserV1alpha1"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/attachments": {
      "get": {
        "operationId": "SearchAttachments",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Filter attachments without group. This parameter will ignore group parameter.",
            "in": "query",
            "name": "ungrouped",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Keyword for searching.",
            "in": "query",
            "name": "keyword",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Acceptable media types.",
            "in": "query",
            "name": "accepts",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "AttachmentV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/attachments/upload": {
      "post": {
        "operationId": "UploadAttachment",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/IUploadRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Attachment"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "AttachmentV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/auth-providers": {
      "get": {
        "description": "Lists all auth providers",
        "operationId": "listAuthProviders",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListedAuthProvider"
                  }
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "AuthProviderV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/auth-providers/{name}/disable": {
      "put": {
        "description": "Disables an auth provider",
        "operationId": "disableAuthProvider",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthProvider"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "AuthProviderV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/auth-providers/{name}/enable": {
      "put": {
        "description": "Enables an auth provider",
        "operationId": "enableAuthProvider",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthProvider"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "AuthProviderV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/comments": {
      "get": {
        "description": "List comments.",
        "operationId": "ListComments",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Comments filtered by keyword.",
            "in": "query",
            "name": "keyword",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Commenter kind.",
            "in": "query",
            "name": "ownerKind",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Commenter name.",
            "in": "query",
            "name": "ownerName",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListedCommentList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "CommentV1alpha1Console"
        ]
      },
      "post": {
        "description": "Create a comment.",
        "operationId": "CreateComment",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "CommentV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/comments/{name}/reply": {
      "post": {
        "description": "Create a reply.",
        "operationId": "CreateReply",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Reply"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "CommentV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/indices/-/rebuild": {
      "post": {
        "description": "Rebuild all indices",
        "operationId": "RebuildAllIndices",
        "responses": {},
        "tags": [
          "IndicesV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/indices/post": {
      "post": {
        "deprecated": true,
        "description": "Build or rebuild post indices for full text search. This method is deprecated, please use POST /indices/-/rebuild instead.",
        "operationId": "BuildPostIndices",
        "responses": {},
        "tags": [
          "IndicesV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/notifiers/{name}/sender-config": {
      "get": {
        "description": "Fetch sender config of notifier",
        "operationId": "FetchSenderConfig",
        "parameters": [
          {
            "description": "Notifier name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "NotifierV1alpha1Console"
        ]
      },
      "post": {
        "description": "Save sender config of notifier",
        "operationId": "SaveSenderConfig",
        "parameters": [
          {
            "description": "Notifier name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {},
            "description": "default response"
          }
        },
        "tags": [
          "NotifierV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugin-presets": {
      "get": {
        "description": "List all plugin presets in the system.",
        "operationId": "ListPluginPresets",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Plugin"
                  }
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugins": {
      "get": {
        "description": "List plugins using query criteria and sort params",
        "operationId": "ListPlugins",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Keyword of plugin name or description",
            "in": "query",
            "name": "keyword",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Whether the plugin is enabled",
            "in": "query",
            "name": "enabled",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PluginList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugins/-/bundle.css": {
      "get": {
        "description": "Merge all CSS bundles of enabled plugins into one.",
        "operationId": "fetchCssBundle",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugins/-/bundle.js": {
      "get": {
        "description": "Merge all JS bundles of enabled plugins into one.",
        "operationId": "fetchJsBundle",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugins/-/install-from-uri": {
      "post": {
        "description": "Install a plugin from uri.",
        "operationId": "InstallPluginFromUri",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallFromUriRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Plugin"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugins/install": {
      "post": {
        "description": "Install a plugin by uploading a Jar file.",
        "operationId": "InstallPlugin",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/PluginInstallRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Plugin"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugins/{name}/config": {
      "get": {
        "description": "Fetch configMap of plugin by configured configMapName.",
        "operationId": "fetchPluginConfig",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigMap"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      },
      "put": {
        "description": "Update the configMap of plugin setting.",
        "operationId": "updatePluginConfig",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigMap"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigMap"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugins/{name}/plugin-state": {
      "put": {
        "description": "Change the running state of a plugin by name.",
        "operationId": "ChangePluginRunningState",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PluginRunningStateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Plugin"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugins/{name}/reload": {
      "put": {
        "description": "Reload a plugin by name.",
        "operationId": "reloadPlugin",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Plugin"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugins/{name}/reset-config": {
      "put": {
        "description": "Reset the configMap of plugin setting.",
        "operationId": "ResetPluginConfig",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigMap"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugins/{name}/setting": {
      "get": {
        "description": "Fetch setting of plugin.",
        "operationId": "fetchPluginSetting",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Setting"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugins/{name}/upgrade": {
      "post": {
        "description": "Upgrade a plugin by uploading a Jar file",
        "operationId": "UpgradePlugin",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/PluginInstallRequest"
              }
            }
          },
          "required": true
        },
        "responses": {},
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/plugins/{name}/upgrade-from-uri": {
      "post": {
        "description": "Upgrade a plugin from uri.",
        "operationId": "UpgradePluginFromUri",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpgradeFromUriRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Plugin"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/posts": {
      "get": {
        "description": "List posts.",
        "operationId": "ListPosts",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Posts filtered by publish phase.",
            "in": "query",
            "name": "publishPhase",
            "schema": {
              "type": "string",
              "enum": [
                "DRAFT",
                "PENDING_APPROVAL",
                "PUBLISHED",
                "FAILED"
              ]
            }
          },
          {
            "description": "Posts filtered by keyword.",
            "in": "query",
            "name": "keyword",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Posts filtered by category including sub-categories.",
            "in": "query",
            "name": "categoryWithChildren",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListedPostList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Console"
        ]
      },
      "post": {
        "description": "Draft a post.",
        "operationId": "DraftPost",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/posts/{name}": {
      "put": {
        "description": "Update a post.",
        "operationId": "UpdateDraftPost",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/posts/{name}/content": {
      "delete": {
        "description": "Delete a content for post.",
        "operationId": "deletePostContent",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "snapshotName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ContentWrapper"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Console"
        ]
      },
      "get": {
        "description": "Fetch content of post.",
        "operationId": "fetchPostContent",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "snapshotName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ContentWrapper"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Console"
        ]
      },
      "put": {
        "description": "Update a post\u0027s content.",
        "operationId": "UpdatePostContent",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Content"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/posts/{name}/head-content": {
      "get": {
        "description": "Fetch head content of post.",
        "operationId": "fetchPostHeadContent",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ContentWrapper"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/posts/{name}/publish": {
      "put": {
        "description": "Publish a post.",
        "operationId": "PublishPost",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Head snapshot name of content.",
            "in": "query",
            "name": "headSnapshot",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "async",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/posts/{name}/recycle": {
      "put": {
        "description": "Recycle a post.",
        "operationId": "RecyclePost",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {},
        "tags": [
          "PostV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/posts/{name}/release-content": {
      "get": {
        "description": "Fetch release content of post.",
        "operationId": "fetchPostReleaseContent",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ContentWrapper"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/posts/{name}/revert-content": {
      "put": {
        "description": "Revert to specified snapshot for post content.",
        "operationId": "revertToSpecifiedSnapshotForPost",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevertSnapshotForPostParam"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/posts/{name}/snapshot": {
      "get": {
        "description": "List all snapshots for post content.",
        "operationId": "listPostSnapshots",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListedSnapshotDto"
                  }
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/posts/{name}/unpublish": {
      "put": {
        "description": "Publish a post.",
        "operationId": "UnpublishPost",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/replies": {
      "get": {
        "description": "List replies.",
        "operationId": "ListReplies",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Replies filtered by commentName.",
            "in": "query",
            "name": "commentName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListedReplyList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "ReplyV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/singlepages": {
      "get": {
        "description": "List single pages.",
        "operationId": "ListSinglePages",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "SinglePages filtered by contributor.",
            "in": "query",
            "name": "contributor",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "SinglePages filtered by publish phase.",
            "in": "query",
            "name": "publishPhase",
            "schema": {
              "type": "string",
              "enum": [
                "DRAFT",
                "PENDING_APPROVAL",
                "PUBLISHED",
                "FAILED"
              ]
            }
          },
          {
            "description": "SinglePages filtered by visibility.",
            "in": "query",
            "name": "visible",
            "schema": {
              "type": "string",
              "enum": [
                "PUBLIC",
                "INTERNAL",
                "PRIVATE"
              ]
            }
          },
          {
            "description": "SinglePages filtered by keyword.",
            "in": "query",
            "name": "keyword",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListedSinglePageList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Console"
        ]
      },
      "post": {
        "description": "Draft a single page.",
        "operationId": "DraftSinglePage",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SinglePageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SinglePage"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/singlepages/{name}": {
      "put": {
        "description": "Update a single page.",
        "operationId": "UpdateDraftSinglePage",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SinglePageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SinglePage"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/singlepages/{name}/content": {
      "delete": {
        "description": "Delete a content for post.",
        "operationId": "deleteSinglePageContent",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "snapshotName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ContentWrapper"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Console"
        ]
      },
      "get": {
        "description": "Fetch content of single page.",
        "operationId": "fetchSinglePageContent",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "snapshotName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ContentWrapper"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Console"
        ]
      },
      "put": {
        "description": "Update a single page\u0027s content.",
        "operationId": "UpdateSinglePageContent",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Content"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/singlepages/{name}/head-content": {
      "get": {
        "description": "Fetch head content of single page.",
        "operationId": "fetchSinglePageHeadContent",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ContentWrapper"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/singlepages/{name}/publish": {
      "put": {
        "description": "Publish a single page.",
        "operationId": "PublishSinglePage",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SinglePage"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/singlepages/{name}/release-content": {
      "get": {
        "description": "Fetch release content of single page.",
        "operationId": "fetchSinglePageReleaseContent",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ContentWrapper"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/singlepages/{name}/revert-content": {
      "put": {
        "description": "Revert to specified snapshot for single page content.",
        "operationId": "revertToSpecifiedSnapshotForSinglePage",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevertSnapshotForSingleParam"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/singlepages/{name}/snapshot": {
      "get": {
        "description": "List all snapshots for single page content.",
        "operationId": "listSinglePageSnapshots",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ListedSnapshotDto"
                  }
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/stats": {
      "get": {
        "description": "Get stats.",
        "operationId": "getStats",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DashboardStats"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SystemV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/system/initialize": {
      "post": {
        "description": "Initialize system",
        "operationId": "initialize",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/SystemInitializationRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "System initialization successfully.",
            "headers": {
              "Location": {
                "description": "Redirect URL.",
                "schema": {
                  "type": "string"
                },
                "style": "simple"
              }
            }
          }
        },
        "tags": [
          "SystemV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/tags": {
      "get": {
        "description": "List Post Tags.",
        "operationId": "ListPostTags",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Post tags filtered by keyword.",
            "in": "query",
            "name": "keyword",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/TagList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "TagV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/themes": {
      "get": {
        "description": "List themes.",
        "operationId": "ListThemes",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Whether to list uninstalled themes.",
            "in": "query",
            "name": "uninstalled",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ThemeList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "ThemeV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/themes/-/activation": {
      "get": {
        "description": "Fetch the activated theme.",
        "operationId": "fetchActivatedTheme",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Theme"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "ThemeV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/themes/-/install-from-uri": {
      "post": {
        "description": "Install a theme from uri.",
        "operationId": "InstallThemeFromUri",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallFromUriRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Theme"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "ThemeV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/themes/install": {
      "post": {
        "description": "Install a theme by uploading a zip file.",
        "operationId": "InstallTheme",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/ThemeInstallRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Theme"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "ThemeV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/themes/{name}/activation": {
      "put": {
        "description": "Activate a theme by name.",
        "operationId": "activateTheme",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Theme"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "ThemeV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/themes/{name}/config": {
      "get": {
        "description": "Fetch configMap of theme by configured configMapName.",
        "operationId": "fetchThemeConfig",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigMap"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "ThemeV1alpha1Console"
        ]
      },
      "put": {
        "description": "Update the configMap of theme setting.",
        "operationId": "updateThemeConfig",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfigMap"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigMap"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "ThemeV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/themes/{name}/invalidate-cache": {
      "put": {
        "description": "Invalidate theme template cache.",
        "operationId": "InvalidateCache",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "ThemeV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/themes/{name}/reload": {
      "put": {
        "description": "Reload theme setting.",
        "operationId": "Reload",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Theme"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "ThemeV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/themes/{name}/reset-config": {
      "put": {
        "description": "Reset the configMap of theme setting.",
        "operationId": "ResetThemeConfig",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigMap"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "ThemeV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/themes/{name}/setting": {
      "get": {
        "description": "Fetch setting of theme.",
        "operationId": "fetchThemeSetting",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Setting"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "ThemeV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/themes/{name}/upgrade": {
      "post": {
        "description": "Upgrade theme",
        "operationId": "UpgradeTheme",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/UpgradeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {},
        "tags": [
          "ThemeV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/themes/{name}/upgrade-from-uri": {
      "post": {
        "description": "Upgrade a theme from uri.",
        "operationId": "UpgradeThemeFromUri",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpgradeFromUriRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Theme"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "ThemeV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/users": {
      "get": {
        "description": "List users",
        "operationId": "ListUsers",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Keyword to search",
            "in": "query",
            "name": "keyword",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Role name",
            "in": "query",
            "name": "role",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/UserEndpoint.ListedUserList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      },
      "post": {
        "description": "Creates a new user.",
        "operationId": "CreateUser",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/users/-": {
      "get": {
        "description": "Get current user detail",
        "operationId": "GetCurrentUserDetail",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DetailedUser"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      },
      "put": {
        "description": "Update current user profile, but password.",
        "operationId": "UpdateCurrentUser",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/User"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/users/-/password": {
      "put": {
        "description": "Change own password of user.",
        "operationId": "ChangeOwnPassword",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ChangeOwnPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/users/-/send-email-verification-code": {
      "post": {
        "description": "Send email verification code for user",
        "operationId": "SendEmailVerificationCode",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/EmailVerifyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {},
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/users/-/verify-email": {
      "post": {
        "description": "Verify email for user by code.",
        "operationId": "VerifyEmail",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/VerifyCodeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {},
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/users/{name}": {
      "get": {
        "description": "Get user detail by name",
        "operationId": "GetUserDetail",
        "parameters": [
          {
            "description": "User name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DetailedUser"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/users/{name}/avatar": {
      "delete": {
        "description": "delete user avatar",
        "operationId": "DeleteUserAvatar",
        "parameters": [
          {
            "description": "User name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      },
      "post": {
        "description": "upload user avatar",
        "operationId": "UploadUserAvatar",
        "parameters": [
          {
            "description": "User name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/IAvatarUploadRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/users/{name}/password": {
      "put": {
        "description": "Change anyone password of user for admin.",
        "operationId": "ChangeAnyonePassword",
        "parameters": [
          {
            "description": "Name of user. If the name is equal to \u0027-\u0027, it will change the password of current user.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.halo.run/v1alpha1/users/{name}/permissions": {
      "get": {
        "description": "Get permissions of user",
        "operationId": "GetPermissions",
        "parameters": [
          {
            "description": "User name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/UserPermission"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      },
      "post": {
        "description": "Grant permissions to user",
        "operationId": "GrantPermission",
        "parameters": [
          {
            "description": "User name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/GrantRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.migration.halo.run/v1alpha1/backups/{name}/files/{filename}": {
      "get": {
        "operationId": "DownloadBackups",
        "parameters": [
          {
            "description": "Backup name.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Backup filename.",
            "in": "path",
            "name": "filename",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {},
        "tags": [
          "MigrationV1alpha1Console"
        ]
      }
    },
    "/apis/api.console.migration.halo.run/v1alpha1/restorations": {
      "post": {
        "description": "Restore backup by uploading file or providing download link or backup name.",
        "operationId": "RestoreBackup",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/RestoreRequest"
              }
            }
          },
          "required": true
        },
        "responses": {},
        "tags": [
          "MigrationV1alpha1Console"
        ]
      }
    },
    "/apis/api.content.halo.run/v1alpha1/categories": {
      "get": {
        "description": "Lists categories.",
        "operationId": "queryCategories",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CategoryVoList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "CategoryV1alpha1Public"
        ]
      }
    },
    "/apis/api.content.halo.run/v1alpha1/categories/{name}": {
      "get": {
        "description": "Gets category by name.",
        "operationId": "queryCategoryByName",
        "parameters": [
          {
            "description": "Category name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CategoryVo"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "CategoryV1alpha1Public"
        ]
      }
    },
    "/apis/api.content.halo.run/v1alpha1/categories/{name}/posts": {
      "get": {
        "description": "Lists posts by category name.",
        "operationId": "queryPostsByCategoryName",
        "parameters": [
          {
            "description": "Category name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListedPostVoList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "CategoryV1alpha1Public"
        ]
      }
    },
    "/apis/api.content.halo.run/v1alpha1/posts": {
      "get": {
        "description": "Lists posts.",
        "operationId": "queryPosts",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListedPostVoList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Public"
        ]
      }
    },
    "/apis/api.content.halo.run/v1alpha1/posts/{name}": {
      "get": {
        "description": "Gets a post by name.",
        "operationId": "queryPostByName",
        "parameters": [
          {
            "description": "Post name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PostVo"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Public"
        ]
      }
    },
    "/apis/api.content.halo.run/v1alpha1/posts/{name}/navigation": {
      "get": {
        "description": "Gets a post navigation by name.",
        "operationId": "queryPostNavigationByName",
        "parameters": [
          {
            "description": "Post name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NavigationPostVo"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Public"
        ]
      }
    },
    "/apis/api.content.halo.run/v1alpha1/singlepages": {
      "get": {
        "description": "Lists single pages",
        "operationId": "querySinglePages",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListedSinglePageVoList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Public"
        ]
      }
    },
    "/apis/api.content.halo.run/v1alpha1/singlepages/{name}": {
      "get": {
        "description": "Gets single page by name",
        "operationId": "querySinglePageByName",
        "parameters": [
          {
            "description": "SinglePage name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SinglePageVo"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SinglePageV1alpha1Public"
        ]
      }
    },
    "/apis/api.content.halo.run/v1alpha1/tags": {
      "get": {
        "description": "Lists tags",
        "operationId": "queryTags",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/TagVoList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "TagV1alpha1Public"
        ]
      }
    },
    "/apis/api.content.halo.run/v1alpha1/tags/{name}": {
      "get": {
        "description": "Gets tag by name",
        "operationId": "queryTagByName",
        "parameters": [
          {
            "description": "Tag name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/TagVo"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "TagV1alpha1Public"
        ]
      }
    },
    "/apis/api.content.halo.run/v1alpha1/tags/{name}/posts": {
      "get": {
        "description": "Lists posts by tag name",
        "operationId": "queryPostsByTagName",
        "parameters": [
          {
            "description": "Tag name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListedPostVo"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "TagV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/comments": {
      "get": {
        "description": "List comments.",
        "operationId": "ListComments_1",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "The comment subject group.",
            "in": "query",
            "name": "group",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The comment subject version.",
            "in": "query",
            "name": "version",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The comment subject kind.",
            "in": "query",
            "name": "kind",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The comment subject name.",
            "in": "query",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Whether to include replies. Default is false.",
            "in": "query",
            "name": "withReplies",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Reply size of the comment, default is 10, only works when withReplies is true.",
            "in": "query",
            "name": "replySize",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CommentWithReplyVoList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "CommentV1alpha1Public"
        ]
      },
      "post": {
        "description": "Create a comment.",
        "operationId": "CreateComment_1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "CommentV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/comments/{name}": {
      "get": {
        "description": "Get a comment.",
        "operationId": "GetComment",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CommentVoList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "CommentV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/comments/{name}/reply": {
      "get": {
        "description": "List comment replies.",
        "operationId": "ListCommentReplies",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReplyVoList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "CommentV1alpha1Public"
        ]
      },
      "post": {
        "description": "Create a reply.",
        "operationId": "CreateReply_1",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Reply"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "CommentV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/indices/-/search": {
      "post": {
        "description": "Search indices.",
        "operationId": "IndicesSearch",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/SearchOption"
              }
            }
          },
          "description": "Please note that the \"filterPublished\", \"filterExposed\" and \"filterRecycled\" fields are ignored in this endpoint."
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResult"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "IndexV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/indices/post": {
      "get": {
        "deprecated": true,
        "description": "Search posts with fuzzy query. This method is deprecated, please use POST /indices/-/search instead.",
        "operationId": "SearchPost",
        "parameters": [
          {
            "description": "Keyword to search",
            "in": "query",
            "name": "keyword",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Limit of search results",
            "in": "query",
            "name": "limit",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Highlight pre tag",
            "in": "query",
            "name": "highlightPreTag",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Highlight post tag",
            "in": "query",
            "name": "highlightPostTag",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResult"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "IndexV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/menus/-": {
      "get": {
        "description": "Gets primary menu.",
        "operationId": "queryPrimaryMenu",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/MenuVo"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "MenuV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/menus/{name}": {
      "get": {
        "description": "Gets menu by name.",
        "operationId": "queryMenuByName",
        "parameters": [
          {
            "description": "Menu name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/MenuVo"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "MenuV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/stats/-": {
      "get": {
        "description": "Gets site stats",
        "operationId": "queryStats",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SiteStatsVo"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SystemV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/trackers/counter": {
      "post": {
        "description": "Count an extension resource visits.",
        "operationId": "count",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CounterRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {},
            "description": "default response"
          }
        },
        "tags": [
          "MetricsV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/trackers/downvote": {
      "post": {
        "description": "Downvote an extension resource.",
        "operationId": "downvote",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {},
            "description": "default response"
          }
        },
        "tags": [
          "MetricsV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/trackers/upvote": {
      "post": {
        "description": "Upvote an extension resource.",
        "operationId": "upvote",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {},
            "description": "default response"
          }
        },
        "tags": [
          "MetricsV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/users/-/send-password-reset-email": {
      "post": {
        "description": "Send password reset email when forgot password",
        "operationId": "SendPasswordResetEmail",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/PasswordResetEmailRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204 NO_CONTENT": {
            "content": {},
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/users/-/send-register-verify-email": {
      "post": {
        "description": "Send registration verification email, which can be called when mustVerifyEmailOnRegistration in user settings is true",
        "operationId": "SendRegisterVerifyEmail",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/RegisterVerifyEmailRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204 NO_CONTENT": {
            "content": {},
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/users/-/signup": {
      "post": {
        "description": "Sign up a new user",
        "operationId": "SignUp",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/SignUpRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Public"
        ]
      }
    },
    "/apis/api.halo.run/v1alpha1/users/{name}/reset-password": {
      "put": {
        "description": "Reset password by token",
        "operationId": "ResetPasswordByToken",
        "parameters": [
          {
            "description": "The name of the user",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204 NO_CONTENT": {
            "content": {},
            "description": "default response"
          }
        },
        "tags": [
          "UserV1alpha1Public"
        ]
      }
    },
    "/apis/api.notification.halo.run/v1alpha1/notifiers/{name}/receiver-config": {
      "get": {
        "description": "Fetch receiver config of notifier",
        "operationId": "FetchReceiverConfig",
        "parameters": [
          {
            "description": "Notifier name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "NotifierV1alpha1Uc"
        ]
      },
      "post": {
        "description": "Save receiver config of notifier",
        "operationId": "SaveReceiverConfig",
        "parameters": [
          {
            "description": "Notifier name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {},
            "description": "default response"
          }
        },
        "tags": [
          "NotifierV1alpha1Uc"
        ]
      }
    },
    "/apis/api.notification.halo.run/v1alpha1/subscriptions/{name}/unsubscribe": {
      "get": {
        "description": "Unsubscribe a subscription",
        "operationId": "Unsubscribe",
        "parameters": [
          {
            "description": "Subscription name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unsubscribe token",
            "in": "query",
            "name": "token",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "api.notification.halo.run/v1alpha1/Subscription"
        ]
      }
    },
    "/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notification-preferences": {
      "get": {
        "description": "List notification preferences for the authenticated user.",
        "operationId": "ListUserNotificationPreferences",
        "parameters": [
          {
            "description": "Username",
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReasonTypeNotifierMatrix"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "NotificationV1alpha1Uc"
        ]
      },
      "post": {
        "description": "Save notification preferences for the authenticated user.",
        "operationId": "SaveUserNotificationPreferences",
        "parameters": [
          {
            "description": "Username",
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ReasonTypeNotifierCollectionRequest"
              }
            }
          }
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReasonTypeNotifierMatrix"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "NotificationV1alpha1Uc"
        ]
      }
    },
    "/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notifications": {
      "get": {
        "description": "List notifications for the authenticated user.",
        "operationId": "ListUserNotifications",
        "parameters": [
          {
            "description": "Username",
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Keyword",
            "in": "query",
            "name": "keyword",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "NotificationV1alpha1Uc"
        ]
      }
    },
    "/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notifications/-/mark-specified-as-read": {
      "put": {
        "description": "Mark the specified notifications as read.",
        "operationId": "MarkNotificationsAsRead",
        "parameters": [
          {
            "description": "Username",
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkSpecifiedRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "NotificationV1alpha1Uc"
        ]
      }
    },
    "/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notifications/{name}": {
      "delete": {
        "description": "Delete the specified notification.",
        "operationId": "DeleteSpecifiedNotification",
        "parameters": [
          {
            "description": "Username",
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Notification name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "NotificationV1alpha1Uc"
        ]
      }
    },
    "/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notifications/{name}/mark-as-read": {
      "put": {
        "description": "Mark the specified notification as read.",
        "operationId": "MarkNotificationAsRead",
        "parameters": [
          {
            "description": "Username",
            "in": "path",
            "name": "username",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Notification name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "NotificationV1alpha1Uc"
        ]
      }
    },
    "/apis/api.plugin.halo.run/v1alpha1/plugins/{name}/available": {
      "get": {
        "description": "Gets plugin available by name.",
        "operationId": "queryPluginAvailableByName",
        "parameters": [
          {
            "description": "Plugin name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "boolean"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PluginV1alpha1Public"
        ]
      }
    },
    "/apis/auth.halo.run/v1alpha1/authproviders": {
      "get": {
        "description": "List AuthProvider",
        "operationId": "listAuthProvider",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthProviderList"
                }
              }
            },
            "description": "Response authproviders"
          }
        },
        "tags": [
          "AuthProviderV1alpha1"
        ]
      },
      "post": {
        "description": "Create AuthProvider",
        "operationId": "createAuthProvider",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/AuthProvider"
              }
            }
          },
          "description": "Fresh authprovider"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthProvider"
                }
              }
            },
            "description": "Response authproviders created just now"
          }
        },
        "tags": [
          "AuthProviderV1alpha1"
        ]
      }
    },
    "/apis/auth.halo.run/v1alpha1/authproviders/{name}": {
      "delete": {
        "description": "Delete AuthProvider",
        "operationId": "deleteAuthProvider",
        "parameters": [
          {
            "description": "Name of authprovider",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response authprovider deleted just now"
          }
        },
        "tags": [
          "AuthProviderV1alpha1"
        ]
      },
      "get": {
        "description": "Get AuthProvider",
        "operationId": "getAuthProvider",
        "parameters": [
          {
            "description": "Name of authprovider",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthProvider"
                }
              }
            },
            "description": "Response single authprovider"
          }
        },
        "tags": [
          "AuthProviderV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch AuthProvider",
        "operationId": "patchAuthProvider",
        "parameters": [
          {
            "description": "Name of authprovider",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthProvider"
                }
              }
            },
            "description": "Response authprovider patched just now"
          }
        },
        "tags": [
          "AuthProviderV1alpha1"
        ]
      },
      "put": {
        "description": "Update AuthProvider",
        "operationId": "updateAuthProvider",
        "parameters": [
          {
            "description": "Name of authprovider",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/AuthProvider"
              }
            }
          },
          "description": "Updated authprovider"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AuthProvider"
                }
              }
            },
            "description": "Response authproviders updated just now"
          }
        },
        "tags": [
          "AuthProviderV1alpha1"
        ]
      }
    },
    "/apis/auth.halo.run/v1alpha1/userconnections": {
      "get": {
        "description": "List UserConnection",
        "operationId": "listUserConnection",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/UserConnectionList"
                }
              }
            },
            "description": "Response userconnections"
          }
        },
        "tags": [
          "UserConnectionV1alpha1"
        ]
      },
      "post": {
        "description": "Create UserConnection",
        "operationId": "createUserConnection",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/UserConnection"
              }
            }
          },
          "description": "Fresh userconnection"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/UserConnection"
                }
              }
            },
            "description": "Response userconnections created just now"
          }
        },
        "tags": [
          "UserConnectionV1alpha1"
        ]
      }
    },
    "/apis/auth.halo.run/v1alpha1/userconnections/{name}": {
      "delete": {
        "description": "Delete UserConnection",
        "operationId": "deleteUserConnection",
        "parameters": [
          {
            "description": "Name of userconnection",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response userconnection deleted just now"
          }
        },
        "tags": [
          "UserConnectionV1alpha1"
        ]
      },
      "get": {
        "description": "Get UserConnection",
        "operationId": "getUserConnection",
        "parameters": [
          {
            "description": "Name of userconnection",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/UserConnection"
                }
              }
            },
            "description": "Response single userconnection"
          }
        },
        "tags": [
          "UserConnectionV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch UserConnection",
        "operationId": "patchUserConnection",
        "parameters": [
          {
            "description": "Name of userconnection",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/UserConnection"
                }
              }
            },
            "description": "Response userconnection patched just now"
          }
        },
        "tags": [
          "UserConnectionV1alpha1"
        ]
      },
      "put": {
        "description": "Update UserConnection",
        "operationId": "updateUserConnection",
        "parameters": [
          {
            "description": "Name of userconnection",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/UserConnection"
              }
            }
          },
          "description": "Updated userconnection"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/UserConnection"
                }
              }
            },
            "description": "Response userconnections updated just now"
          }
        },
        "tags": [
          "UserConnectionV1alpha1"
        ]
      }
    },
    "/apis/console.api.notification.halo.run/v1alpha1/notifiers/default-email-notifier/verify-connection": {
      "post": {
        "description": "Verify email sender config.",
        "operationId": "VerifyEmailSenderConfig",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/EmailConfigValidationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {},
            "description": "default response"
          }
        },
        "tags": [
          "NotifierV1alpha1Console"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/categories": {
      "get": {
        "description": "List Category",
        "operationId": "listCategory",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CategoryList"
                }
              }
            },
            "description": "Response categories"
          }
        },
        "tags": [
          "CategoryV1alpha1"
        ]
      },
      "post": {
        "description": "Create Category",
        "operationId": "createCategory",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Category"
              }
            }
          },
          "description": "Fresh category"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Category"
                }
              }
            },
            "description": "Response categories created just now"
          }
        },
        "tags": [
          "CategoryV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/categories/{name}": {
      "delete": {
        "description": "Delete Category",
        "operationId": "deleteCategory",
        "parameters": [
          {
            "description": "Name of category",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response category deleted just now"
          }
        },
        "tags": [
          "CategoryV1alpha1"
        ]
      },
      "get": {
        "description": "Get Category",
        "operationId": "getCategory",
        "parameters": [
          {
            "description": "Name of category",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Category"
                }
              }
            },
            "description": "Response single category"
          }
        },
        "tags": [
          "CategoryV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Category",
        "operationId": "patchCategory",
        "parameters": [
          {
            "description": "Name of category",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Category"
                }
              }
            },
            "description": "Response category patched just now"
          }
        },
        "tags": [
          "CategoryV1alpha1"
        ]
      },
      "put": {
        "description": "Update Category",
        "operationId": "updateCategory",
        "parameters": [
          {
            "description": "Name of category",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Category"
              }
            }
          },
          "description": "Updated category"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Category"
                }
              }
            },
            "description": "Response categories updated just now"
          }
        },
        "tags": [
          "CategoryV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/comments": {
      "get": {
        "description": "List Comment",
        "operationId": "listComment",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CommentList"
                }
              }
            },
            "description": "Response comments"
          }
        },
        "tags": [
          "CommentV1alpha1"
        ]
      },
      "post": {
        "description": "Create Comment",
        "operationId": "createComment",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Comment"
              }
            }
          },
          "description": "Fresh comment"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            },
            "description": "Response comments created just now"
          }
        },
        "tags": [
          "CommentV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/comments/{name}": {
      "delete": {
        "description": "Delete Comment",
        "operationId": "deleteComment",
        "parameters": [
          {
            "description": "Name of comment",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response comment deleted just now"
          }
        },
        "tags": [
          "CommentV1alpha1"
        ]
      },
      "get": {
        "description": "Get Comment",
        "operationId": "getComment",
        "parameters": [
          {
            "description": "Name of comment",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            },
            "description": "Response single comment"
          }
        },
        "tags": [
          "CommentV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Comment",
        "operationId": "patchComment",
        "parameters": [
          {
            "description": "Name of comment",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            },
            "description": "Response comment patched just now"
          }
        },
        "tags": [
          "CommentV1alpha1"
        ]
      },
      "put": {
        "description": "Update Comment",
        "operationId": "updateComment",
        "parameters": [
          {
            "description": "Name of comment",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Comment"
              }
            }
          },
          "description": "Updated comment"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            },
            "description": "Response comments updated just now"
          }
        },
        "tags": [
          "CommentV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/posts": {
      "get": {
        "description": "List Post",
        "operationId": "listPost",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PostList"
                }
              }
            },
            "description": "Response posts"
          }
        },
        "tags": [
          "PostV1alpha1"
        ]
      },
      "post": {
        "description": "Create Post",
        "operationId": "createPost",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Post"
              }
            }
          },
          "description": "Fresh post"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "Response posts created just now"
          }
        },
        "tags": [
          "PostV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/posts/{name}": {
      "delete": {
        "description": "Delete Post",
        "operationId": "deletePost",
        "parameters": [
          {
            "description": "Name of post",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response post deleted just now"
          }
        },
        "tags": [
          "PostV1alpha1"
        ]
      },
      "get": {
        "description": "Get Post",
        "operationId": "getPost",
        "parameters": [
          {
            "description": "Name of post",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "Response single post"
          }
        },
        "tags": [
          "PostV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Post",
        "operationId": "patchPost",
        "parameters": [
          {
            "description": "Name of post",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "Response post patched just now"
          }
        },
        "tags": [
          "PostV1alpha1"
        ]
      },
      "put": {
        "description": "Update Post",
        "operationId": "updatePost",
        "parameters": [
          {
            "description": "Name of post",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Post"
              }
            }
          },
          "description": "Updated post"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "Response posts updated just now"
          }
        },
        "tags": [
          "PostV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/replies": {
      "get": {
        "description": "List Reply",
        "operationId": "listReply",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReplyList"
                }
              }
            },
            "description": "Response replies"
          }
        },
        "tags": [
          "ReplyV1alpha1"
        ]
      },
      "post": {
        "description": "Create Reply",
        "operationId": "createReply",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Reply"
              }
            }
          },
          "description": "Fresh reply"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Reply"
                }
              }
            },
            "description": "Response replies created just now"
          }
        },
        "tags": [
          "ReplyV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/replies/{name}": {
      "delete": {
        "description": "Delete Reply",
        "operationId": "deleteReply",
        "parameters": [
          {
            "description": "Name of reply",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response reply deleted just now"
          }
        },
        "tags": [
          "ReplyV1alpha1"
        ]
      },
      "get": {
        "description": "Get Reply",
        "operationId": "getReply",
        "parameters": [
          {
            "description": "Name of reply",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Reply"
                }
              }
            },
            "description": "Response single reply"
          }
        },
        "tags": [
          "ReplyV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Reply",
        "operationId": "patchReply",
        "parameters": [
          {
            "description": "Name of reply",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Reply"
                }
              }
            },
            "description": "Response reply patched just now"
          }
        },
        "tags": [
          "ReplyV1alpha1"
        ]
      },
      "put": {
        "description": "Update Reply",
        "operationId": "updateReply",
        "parameters": [
          {
            "description": "Name of reply",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Reply"
              }
            }
          },
          "description": "Updated reply"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Reply"
                }
              }
            },
            "description": "Response replies updated just now"
          }
        },
        "tags": [
          "ReplyV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/singlepages": {
      "get": {
        "description": "List SinglePage",
        "operationId": "listSinglePage",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SinglePageList"
                }
              }
            },
            "description": "Response singlepages"
          }
        },
        "tags": [
          "SinglePageV1alpha1"
        ]
      },
      "post": {
        "description": "Create SinglePage",
        "operationId": "createSinglePage",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/SinglePage"
              }
            }
          },
          "description": "Fresh singlepage"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SinglePage"
                }
              }
            },
            "description": "Response singlepages created just now"
          }
        },
        "tags": [
          "SinglePageV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/singlepages/{name}": {
      "delete": {
        "description": "Delete SinglePage",
        "operationId": "deleteSinglePage",
        "parameters": [
          {
            "description": "Name of singlepage",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response singlepage deleted just now"
          }
        },
        "tags": [
          "SinglePageV1alpha1"
        ]
      },
      "get": {
        "description": "Get SinglePage",
        "operationId": "getSinglePage",
        "parameters": [
          {
            "description": "Name of singlepage",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SinglePage"
                }
              }
            },
            "description": "Response single singlepage"
          }
        },
        "tags": [
          "SinglePageV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch SinglePage",
        "operationId": "patchSinglePage",
        "parameters": [
          {
            "description": "Name of singlepage",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SinglePage"
                }
              }
            },
            "description": "Response singlepage patched just now"
          }
        },
        "tags": [
          "SinglePageV1alpha1"
        ]
      },
      "put": {
        "description": "Update SinglePage",
        "operationId": "updateSinglePage",
        "parameters": [
          {
            "description": "Name of singlepage",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/SinglePage"
              }
            }
          },
          "description": "Updated singlepage"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SinglePage"
                }
              }
            },
            "description": "Response singlepages updated just now"
          }
        },
        "tags": [
          "SinglePageV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/snapshots": {
      "get": {
        "description": "List Snapshot",
        "operationId": "listSnapshot",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotList"
                }
              }
            },
            "description": "Response snapshots"
          }
        },
        "tags": [
          "SnapshotV1alpha1"
        ]
      },
      "post": {
        "description": "Create Snapshot",
        "operationId": "createSnapshot",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Snapshot"
              }
            }
          },
          "description": "Fresh snapshot"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            },
            "description": "Response snapshots created just now"
          }
        },
        "tags": [
          "SnapshotV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/snapshots/{name}": {
      "delete": {
        "description": "Delete Snapshot",
        "operationId": "deleteSnapshot",
        "parameters": [
          {
            "description": "Name of snapshot",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response snapshot deleted just now"
          }
        },
        "tags": [
          "SnapshotV1alpha1"
        ]
      },
      "get": {
        "description": "Get Snapshot",
        "operationId": "getSnapshot",
        "parameters": [
          {
            "description": "Name of snapshot",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            },
            "description": "Response single snapshot"
          }
        },
        "tags": [
          "SnapshotV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Snapshot",
        "operationId": "patchSnapshot",
        "parameters": [
          {
            "description": "Name of snapshot",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            },
            "description": "Response snapshot patched just now"
          }
        },
        "tags": [
          "SnapshotV1alpha1"
        ]
      },
      "put": {
        "description": "Update Snapshot",
        "operationId": "updateSnapshot",
        "parameters": [
          {
            "description": "Name of snapshot",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Snapshot"
              }
            }
          },
          "description": "Updated snapshot"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            },
            "description": "Response snapshots updated just now"
          }
        },
        "tags": [
          "SnapshotV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/tags": {
      "get": {
        "description": "List Tag",
        "operationId": "listTag",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/TagList"
                }
              }
            },
            "description": "Response tags"
          }
        },
        "tags": [
          "TagV1alpha1"
        ]
      },
      "post": {
        "description": "Create Tag",
        "operationId": "createTag",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Tag"
              }
            }
          },
          "description": "Fresh tag"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Tag"
                }
              }
            },
            "description": "Response tags created just now"
          }
        },
        "tags": [
          "TagV1alpha1"
        ]
      }
    },
    "/apis/content.halo.run/v1alpha1/tags/{name}": {
      "delete": {
        "description": "Delete Tag",
        "operationId": "deleteTag",
        "parameters": [
          {
            "description": "Name of tag",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response tag deleted just now"
          }
        },
        "tags": [
          "TagV1alpha1"
        ]
      },
      "get": {
        "description": "Get Tag",
        "operationId": "getTag",
        "parameters": [
          {
            "description": "Name of tag",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Tag"
                }
              }
            },
            "description": "Response single tag"
          }
        },
        "tags": [
          "TagV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Tag",
        "operationId": "patchTag",
        "parameters": [
          {
            "description": "Name of tag",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Tag"
                }
              }
            },
            "description": "Response tag patched just now"
          }
        },
        "tags": [
          "TagV1alpha1"
        ]
      },
      "put": {
        "description": "Update Tag",
        "operationId": "updateTag",
        "parameters": [
          {
            "description": "Name of tag",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Tag"
              }
            }
          },
          "description": "Updated tag"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Tag"
                }
              }
            },
            "description": "Response tags updated just now"
          }
        },
        "tags": [
          "TagV1alpha1"
        ]
      }
    },
    "/apis/metrics.halo.run/v1alpha1/counters": {
      "get": {
        "description": "List Counter",
        "operationId": "listCounter",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/CounterList"
                }
              }
            },
            "description": "Response counters"
          }
        },
        "tags": [
          "CounterV1alpha1"
        ]
      },
      "post": {
        "description": "Create Counter",
        "operationId": "createCounter",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Counter"
              }
            }
          },
          "description": "Fresh counter"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Counter"
                }
              }
            },
            "description": "Response counters created just now"
          }
        },
        "tags": [
          "CounterV1alpha1"
        ]
      }
    },
    "/apis/metrics.halo.run/v1alpha1/counters/{name}": {
      "delete": {
        "description": "Delete Counter",
        "operationId": "deleteCounter",
        "parameters": [
          {
            "description": "Name of counter",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response counter deleted just now"
          }
        },
        "tags": [
          "CounterV1alpha1"
        ]
      },
      "get": {
        "description": "Get Counter",
        "operationId": "getCounter",
        "parameters": [
          {
            "description": "Name of counter",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Counter"
                }
              }
            },
            "description": "Response single counter"
          }
        },
        "tags": [
          "CounterV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Counter",
        "operationId": "patchCounter",
        "parameters": [
          {
            "description": "Name of counter",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Counter"
                }
              }
            },
            "description": "Response counter patched just now"
          }
        },
        "tags": [
          "CounterV1alpha1"
        ]
      },
      "put": {
        "description": "Update Counter",
        "operationId": "updateCounter",
        "parameters": [
          {
            "description": "Name of counter",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Counter"
              }
            }
          },
          "description": "Updated counter"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Counter"
                }
              }
            },
            "description": "Response counters updated just now"
          }
        },
        "tags": [
          "CounterV1alpha1"
        ]
      }
    },
    "/apis/migration.halo.run/v1alpha1/backups": {
      "get": {
        "description": "List Backup",
        "operationId": "listBackup",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/BackupList"
                }
              }
            },
            "description": "Response backups"
          }
        },
        "tags": [
          "BackupV1alpha1"
        ]
      },
      "post": {
        "description": "Create Backup",
        "operationId": "createBackup",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Backup"
              }
            }
          },
          "description": "Fresh backup"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Backup"
                }
              }
            },
            "description": "Response backups created just now"
          }
        },
        "tags": [
          "BackupV1alpha1"
        ]
      }
    },
    "/apis/migration.halo.run/v1alpha1/backups/{name}": {
      "delete": {
        "description": "Delete Backup",
        "operationId": "deleteBackup",
        "parameters": [
          {
            "description": "Name of backup",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response backup deleted just now"
          }
        },
        "tags": [
          "BackupV1alpha1"
        ]
      },
      "get": {
        "description": "Get Backup",
        "operationId": "getBackup",
        "parameters": [
          {
            "description": "Name of backup",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Backup"
                }
              }
            },
            "description": "Response single backup"
          }
        },
        "tags": [
          "BackupV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Backup",
        "operationId": "patchBackup",
        "parameters": [
          {
            "description": "Name of backup",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Backup"
                }
              }
            },
            "description": "Response backup patched just now"
          }
        },
        "tags": [
          "BackupV1alpha1"
        ]
      },
      "put": {
        "description": "Update Backup",
        "operationId": "updateBackup",
        "parameters": [
          {
            "description": "Name of backup",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Backup"
              }
            }
          },
          "description": "Updated backup"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Backup"
                }
              }
            },
            "description": "Response backups updated just now"
          }
        },
        "tags": [
          "BackupV1alpha1"
        ]
      }
    },
    "/apis/notification.halo.run/v1alpha1/notifications": {
      "get": {
        "description": "List Notification",
        "operationId": "listNotification",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationList"
                }
              }
            },
            "description": "Response notifications"
          }
        },
        "tags": [
          "NotificationV1alpha1"
        ]
      },
      "post": {
        "description": "Create Notification",
        "operationId": "createNotification",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Notification"
              }
            }
          },
          "description": "Fresh notification"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "description": "Response notifications created just now"
          }
        },
        "tags": [
          "NotificationV1alpha1"
        ]
      }
    },
    "/apis/notification.halo.run/v1alpha1/notifications/{name}": {
      "delete": {
        "description": "Delete Notification",
        "operationId": "deleteNotification",
        "parameters": [
          {
            "description": "Name of notification",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response notification deleted just now"
          }
        },
        "tags": [
          "NotificationV1alpha1"
        ]
      },
      "get": {
        "description": "Get Notification",
        "operationId": "getNotification",
        "parameters": [
          {
            "description": "Name of notification",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "description": "Response single notification"
          }
        },
        "tags": [
          "NotificationV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Notification",
        "operationId": "patchNotification",
        "parameters": [
          {
            "description": "Name of notification",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "description": "Response notification patched just now"
          }
        },
        "tags": [
          "NotificationV1alpha1"
        ]
      },
      "put": {
        "description": "Update Notification",
        "operationId": "updateNotification",
        "parameters": [
          {
            "description": "Name of notification",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Notification"
              }
            }
          },
          "description": "Updated notification"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "description": "Response notifications updated just now"
          }
        },
        "tags": [
          "NotificationV1alpha1"
        ]
      }
    },
    "/apis/notification.halo.run/v1alpha1/notificationtemplates": {
      "get": {
        "description": "List NotificationTemplate",
        "operationId": "listNotificationTemplate",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationTemplateList"
                }
              }
            },
            "description": "Response notificationtemplates"
          }
        },
        "tags": [
          "NotificationTemplateV1alpha1"
        ]
      },
      "post": {
        "description": "Create NotificationTemplate",
        "operationId": "createNotificationTemplate",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTemplate"
              }
            }
          },
          "description": "Fresh notificationtemplate"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationTemplate"
                }
              }
            },
            "description": "Response notificationtemplates created just now"
          }
        },
        "tags": [
          "NotificationTemplateV1alpha1"
        ]
      }
    },
    "/apis/notification.halo.run/v1alpha1/notificationtemplates/{name}": {
      "delete": {
        "description": "Delete NotificationTemplate",
        "operationId": "deleteNotificationTemplate",
        "parameters": [
          {
            "description": "Name of notificationtemplate",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response notificationtemplate deleted just now"
          }
        },
        "tags": [
          "NotificationTemplateV1alpha1"
        ]
      },
      "get": {
        "description": "Get NotificationTemplate",
        "operationId": "getNotificationTemplate",
        "parameters": [
          {
            "description": "Name of notificationtemplate",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationTemplate"
                }
              }
            },
            "description": "Response single notificationtemplate"
          }
        },
        "tags": [
          "NotificationTemplateV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch NotificationTemplate",
        "operationId": "patchNotificationTemplate",
        "parameters": [
          {
            "description": "Name of notificationtemplate",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationTemplate"
                }
              }
            },
            "description": "Response notificationtemplate patched just now"
          }
        },
        "tags": [
          "NotificationTemplateV1alpha1"
        ]
      },
      "put": {
        "description": "Update NotificationTemplate",
        "operationId": "updateNotificationTemplate",
        "parameters": [
          {
            "description": "Name of notificationtemplate",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/NotificationTemplate"
              }
            }
          },
          "description": "Updated notificationtemplate"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationTemplate"
                }
              }
            },
            "description": "Response notificationtemplates updated just now"
          }
        },
        "tags": [
          "NotificationTemplateV1alpha1"
        ]
      }
    },
    "/apis/notification.halo.run/v1alpha1/notifierDescriptors": {
      "get": {
        "description": "List NotifierDescriptor",
        "operationId": "listNotifierDescriptor",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NotifierDescriptorList"
                }
              }
            },
            "description": "Response notifierDescriptors"
          }
        },
        "tags": [
          "NotifierDescriptorV1alpha1"
        ]
      },
      "post": {
        "description": "Create NotifierDescriptor",
        "operationId": "createNotifierDescriptor",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/NotifierDescriptor"
              }
            }
          },
          "description": "Fresh notifierDescriptor"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NotifierDescriptor"
                }
              }
            },
            "description": "Response notifierDescriptors created just now"
          }
        },
        "tags": [
          "NotifierDescriptorV1alpha1"
        ]
      }
    },
    "/apis/notification.halo.run/v1alpha1/notifierDescriptors/{name}": {
      "delete": {
        "description": "Delete NotifierDescriptor",
        "operationId": "deleteNotifierDescriptor",
        "parameters": [
          {
            "description": "Name of notifierDescriptor",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response notifierDescriptor deleted just now"
          }
        },
        "tags": [
          "NotifierDescriptorV1alpha1"
        ]
      },
      "get": {
        "description": "Get NotifierDescriptor",
        "operationId": "getNotifierDescriptor",
        "parameters": [
          {
            "description": "Name of notifierDescriptor",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NotifierDescriptor"
                }
              }
            },
            "description": "Response single notifierDescriptor"
          }
        },
        "tags": [
          "NotifierDescriptorV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch NotifierDescriptor",
        "operationId": "patchNotifierDescriptor",
        "parameters": [
          {
            "description": "Name of notifierDescriptor",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NotifierDescriptor"
                }
              }
            },
            "description": "Response notifierDescriptor patched just now"
          }
        },
        "tags": [
          "NotifierDescriptorV1alpha1"
        ]
      },
      "put": {
        "description": "Update NotifierDescriptor",
        "operationId": "updateNotifierDescriptor",
        "parameters": [
          {
            "description": "Name of notifierDescriptor",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/NotifierDescriptor"
              }
            }
          },
          "description": "Updated notifierDescriptor"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/NotifierDescriptor"
                }
              }
            },
            "description": "Response notifierDescriptors updated just now"
          }
        },
        "tags": [
          "NotifierDescriptorV1alpha1"
        ]
      }
    },
    "/apis/notification.halo.run/v1alpha1/reasons": {
      "get": {
        "description": "List Reason",
        "operationId": "listReason",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReasonList"
                }
              }
            },
            "description": "Response reasons"
          }
        },
        "tags": [
          "ReasonV1alpha1"
        ]
      },
      "post": {
        "description": "Create Reason",
        "operationId": "createReason",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Reason"
              }
            }
          },
          "description": "Fresh reason"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Reason"
                }
              }
            },
            "description": "Response reasons created just now"
          }
        },
        "tags": [
          "ReasonV1alpha1"
        ]
      }
    },
    "/apis/notification.halo.run/v1alpha1/reasons/{name}": {
      "delete": {
        "description": "Delete Reason",
        "operationId": "deleteReason",
        "parameters": [
          {
            "description": "Name of reason",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response reason deleted just now"
          }
        },
        "tags": [
          "ReasonV1alpha1"
        ]
      },
      "get": {
        "description": "Get Reason",
        "operationId": "getReason",
        "parameters": [
          {
            "description": "Name of reason",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Reason"
                }
              }
            },
            "description": "Response single reason"
          }
        },
        "tags": [
          "ReasonV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Reason",
        "operationId": "patchReason",
        "parameters": [
          {
            "description": "Name of reason",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Reason"
                }
              }
            },
            "description": "Response reason patched just now"
          }
        },
        "tags": [
          "ReasonV1alpha1"
        ]
      },
      "put": {
        "description": "Update Reason",
        "operationId": "updateReason",
        "parameters": [
          {
            "description": "Name of reason",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Reason"
              }
            }
          },
          "description": "Updated reason"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Reason"
                }
              }
            },
            "description": "Response reasons updated just now"
          }
        },
        "tags": [
          "ReasonV1alpha1"
        ]
      }
    },
    "/apis/notification.halo.run/v1alpha1/reasontypes": {
      "get": {
        "description": "List ReasonType",
        "operationId": "listReasonType",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReasonTypeList"
                }
              }
            },
            "description": "Response reasontypes"
          }
        },
        "tags": [
          "ReasonTypeV1alpha1"
        ]
      },
      "post": {
        "description": "Create ReasonType",
        "operationId": "createReasonType",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ReasonType"
              }
            }
          },
          "description": "Fresh reasontype"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReasonType"
                }
              }
            },
            "description": "Response reasontypes created just now"
          }
        },
        "tags": [
          "ReasonTypeV1alpha1"
        ]
      }
    },
    "/apis/notification.halo.run/v1alpha1/reasontypes/{name}": {
      "delete": {
        "description": "Delete ReasonType",
        "operationId": "deleteReasonType",
        "parameters": [
          {
            "description": "Name of reasontype",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response reasontype deleted just now"
          }
        },
        "tags": [
          "ReasonTypeV1alpha1"
        ]
      },
      "get": {
        "description": "Get ReasonType",
        "operationId": "getReasonType",
        "parameters": [
          {
            "description": "Name of reasontype",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReasonType"
                }
              }
            },
            "description": "Response single reasontype"
          }
        },
        "tags": [
          "ReasonTypeV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch ReasonType",
        "operationId": "patchReasonType",
        "parameters": [
          {
            "description": "Name of reasontype",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReasonType"
                }
              }
            },
            "description": "Response reasontype patched just now"
          }
        },
        "tags": [
          "ReasonTypeV1alpha1"
        ]
      },
      "put": {
        "description": "Update ReasonType",
        "operationId": "updateReasonType",
        "parameters": [
          {
            "description": "Name of reasontype",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ReasonType"
              }
            }
          },
          "description": "Updated reasontype"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReasonType"
                }
              }
            },
            "description": "Response reasontypes updated just now"
          }
        },
        "tags": [
          "ReasonTypeV1alpha1"
        ]
      }
    },
    "/apis/notification.halo.run/v1alpha1/subscriptions": {
      "get": {
        "description": "List Subscription",
        "operationId": "listSubscription",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionList"
                }
              }
            },
            "description": "Response subscriptions"
          }
        },
        "tags": [
          "SubscriptionV1alpha1"
        ]
      },
      "post": {
        "description": "Create Subscription",
        "operationId": "createSubscription",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Subscription"
              }
            }
          },
          "description": "Fresh subscription"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            },
            "description": "Response subscriptions created just now"
          }
        },
        "tags": [
          "SubscriptionV1alpha1"
        ]
      }
    },
    "/apis/notification.halo.run/v1alpha1/subscriptions/{name}": {
      "delete": {
        "description": "Delete Subscription",
        "operationId": "deleteSubscription",
        "parameters": [
          {
            "description": "Name of subscription",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response subscription deleted just now"
          }
        },
        "tags": [
          "SubscriptionV1alpha1"
        ]
      },
      "get": {
        "description": "Get Subscription",
        "operationId": "getSubscription",
        "parameters": [
          {
            "description": "Name of subscription",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            },
            "description": "Response single subscription"
          }
        },
        "tags": [
          "SubscriptionV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Subscription",
        "operationId": "patchSubscription",
        "parameters": [
          {
            "description": "Name of subscription",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            },
            "description": "Response subscription patched just now"
          }
        },
        "tags": [
          "SubscriptionV1alpha1"
        ]
      },
      "put": {
        "description": "Update Subscription",
        "operationId": "updateSubscription",
        "parameters": [
          {
            "description": "Name of subscription",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Subscription"
              }
            }
          },
          "description": "Updated subscription"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            },
            "description": "Response subscriptions updated just now"
          }
        },
        "tags": [
          "SubscriptionV1alpha1"
        ]
      }
    },
    "/apis/plugin.halo.run/v1alpha1/extensiondefinitions": {
      "get": {
        "description": "List ExtensionDefinition",
        "operationId": "listExtensionDefinition",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionDefinitionList"
                }
              }
            },
            "description": "Response extensiondefinitions"
          }
        },
        "tags": [
          "ExtensionDefinitionV1alpha1"
        ]
      },
      "post": {
        "description": "Create ExtensionDefinition",
        "operationId": "createExtensionDefinition",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ExtensionDefinition"
              }
            }
          },
          "description": "Fresh extensiondefinition"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionDefinition"
                }
              }
            },
            "description": "Response extensiondefinitions created just now"
          }
        },
        "tags": [
          "ExtensionDefinitionV1alpha1"
        ]
      }
    },
    "/apis/plugin.halo.run/v1alpha1/extensiondefinitions/{name}": {
      "delete": {
        "description": "Delete ExtensionDefinition",
        "operationId": "deleteExtensionDefinition",
        "parameters": [
          {
            "description": "Name of extensiondefinition",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response extensiondefinition deleted just now"
          }
        },
        "tags": [
          "ExtensionDefinitionV1alpha1"
        ]
      },
      "get": {
        "description": "Get ExtensionDefinition",
        "operationId": "getExtensionDefinition",
        "parameters": [
          {
            "description": "Name of extensiondefinition",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionDefinition"
                }
              }
            },
            "description": "Response single extensiondefinition"
          }
        },
        "tags": [
          "ExtensionDefinitionV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch ExtensionDefinition",
        "operationId": "patchExtensionDefinition",
        "parameters": [
          {
            "description": "Name of extensiondefinition",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionDefinition"
                }
              }
            },
            "description": "Response extensiondefinition patched just now"
          }
        },
        "tags": [
          "ExtensionDefinitionV1alpha1"
        ]
      },
      "put": {
        "description": "Update ExtensionDefinition",
        "operationId": "updateExtensionDefinition",
        "parameters": [
          {
            "description": "Name of extensiondefinition",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ExtensionDefinition"
              }
            }
          },
          "description": "Updated extensiondefinition"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionDefinition"
                }
              }
            },
            "description": "Response extensiondefinitions updated just now"
          }
        },
        "tags": [
          "ExtensionDefinitionV1alpha1"
        ]
      }
    },
    "/apis/plugin.halo.run/v1alpha1/extensionpointdefinitions": {
      "get": {
        "description": "List ExtensionPointDefinition",
        "operationId": "listExtensionPointDefinition",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionPointDefinitionList"
                }
              }
            },
            "description": "Response extensionpointdefinitions"
          }
        },
        "tags": [
          "ExtensionPointDefinitionV1alpha1"
        ]
      },
      "post": {
        "description": "Create ExtensionPointDefinition",
        "operationId": "createExtensionPointDefinition",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ExtensionPointDefinition"
              }
            }
          },
          "description": "Fresh extensionpointdefinition"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionPointDefinition"
                }
              }
            },
            "description": "Response extensionpointdefinitions created just now"
          }
        },
        "tags": [
          "ExtensionPointDefinitionV1alpha1"
        ]
      }
    },
    "/apis/plugin.halo.run/v1alpha1/extensionpointdefinitions/{name}": {
      "delete": {
        "description": "Delete ExtensionPointDefinition",
        "operationId": "deleteExtensionPointDefinition",
        "parameters": [
          {
            "description": "Name of extensionpointdefinition",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response extensionpointdefinition deleted just now"
          }
        },
        "tags": [
          "ExtensionPointDefinitionV1alpha1"
        ]
      },
      "get": {
        "description": "Get ExtensionPointDefinition",
        "operationId": "getExtensionPointDefinition",
        "parameters": [
          {
            "description": "Name of extensionpointdefinition",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionPointDefinition"
                }
              }
            },
            "description": "Response single extensionpointdefinition"
          }
        },
        "tags": [
          "ExtensionPointDefinitionV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch ExtensionPointDefinition",
        "operationId": "patchExtensionPointDefinition",
        "parameters": [
          {
            "description": "Name of extensionpointdefinition",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionPointDefinition"
                }
              }
            },
            "description": "Response extensionpointdefinition patched just now"
          }
        },
        "tags": [
          "ExtensionPointDefinitionV1alpha1"
        ]
      },
      "put": {
        "description": "Update ExtensionPointDefinition",
        "operationId": "updateExtensionPointDefinition",
        "parameters": [
          {
            "description": "Name of extensionpointdefinition",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ExtensionPointDefinition"
              }
            }
          },
          "description": "Updated extensionpointdefinition"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ExtensionPointDefinition"
                }
              }
            },
            "description": "Response extensionpointdefinitions updated just now"
          }
        },
        "tags": [
          "ExtensionPointDefinitionV1alpha1"
        ]
      }
    },
    "/apis/plugin.halo.run/v1alpha1/plugins": {
      "get": {
        "description": "List Plugin",
        "operationId": "listPlugin",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PluginList"
                }
              }
            },
            "description": "Response plugins"
          }
        },
        "tags": [
          "PluginV1alpha1"
        ]
      },
      "post": {
        "description": "Create Plugin",
        "operationId": "createPlugin",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Plugin"
              }
            }
          },
          "description": "Fresh plugin"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Plugin"
                }
              }
            },
            "description": "Response plugins created just now"
          }
        },
        "tags": [
          "PluginV1alpha1"
        ]
      }
    },
    "/apis/plugin.halo.run/v1alpha1/plugins/{name}": {
      "delete": {
        "description": "Delete Plugin",
        "operationId": "deletePlugin",
        "parameters": [
          {
            "description": "Name of plugin",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response plugin deleted just now"
          }
        },
        "tags": [
          "PluginV1alpha1"
        ]
      },
      "get": {
        "description": "Get Plugin",
        "operationId": "getPlugin",
        "parameters": [
          {
            "description": "Name of plugin",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Plugin"
                }
              }
            },
            "description": "Response single plugin"
          }
        },
        "tags": [
          "PluginV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Plugin",
        "operationId": "patchPlugin",
        "parameters": [
          {
            "description": "Name of plugin",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Plugin"
                }
              }
            },
            "description": "Response plugin patched just now"
          }
        },
        "tags": [
          "PluginV1alpha1"
        ]
      },
      "put": {
        "description": "Update Plugin",
        "operationId": "updatePlugin",
        "parameters": [
          {
            "description": "Name of plugin",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Plugin"
              }
            }
          },
          "description": "Updated plugin"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Plugin"
                }
              }
            },
            "description": "Response plugins updated just now"
          }
        },
        "tags": [
          "PluginV1alpha1"
        ]
      }
    },
    "/apis/plugin.halo.run/v1alpha1/reverseproxies": {
      "get": {
        "description": "List ReverseProxy",
        "operationId": "listReverseProxy",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReverseProxyList"
                }
              }
            },
            "description": "Response reverseproxies"
          }
        },
        "tags": [
          "ReverseProxyV1alpha1"
        ]
      },
      "post": {
        "description": "Create ReverseProxy",
        "operationId": "createReverseProxy",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ReverseProxy"
              }
            }
          },
          "description": "Fresh reverseproxy"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReverseProxy"
                }
              }
            },
            "description": "Response reverseproxies created just now"
          }
        },
        "tags": [
          "ReverseProxyV1alpha1"
        ]
      }
    },
    "/apis/plugin.halo.run/v1alpha1/reverseproxies/{name}": {
      "delete": {
        "description": "Delete ReverseProxy",
        "operationId": "deleteReverseProxy",
        "parameters": [
          {
            "description": "Name of reverseproxy",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response reverseproxy deleted just now"
          }
        },
        "tags": [
          "ReverseProxyV1alpha1"
        ]
      },
      "get": {
        "description": "Get ReverseProxy",
        "operationId": "getReverseProxy",
        "parameters": [
          {
            "description": "Name of reverseproxy",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReverseProxy"
                }
              }
            },
            "description": "Response single reverseproxy"
          }
        },
        "tags": [
          "ReverseProxyV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch ReverseProxy",
        "operationId": "patchReverseProxy",
        "parameters": [
          {
            "description": "Name of reverseproxy",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReverseProxy"
                }
              }
            },
            "description": "Response reverseproxy patched just now"
          }
        },
        "tags": [
          "ReverseProxyV1alpha1"
        ]
      },
      "put": {
        "description": "Update ReverseProxy",
        "operationId": "updateReverseProxy",
        "parameters": [
          {
            "description": "Name of reverseproxy",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ReverseProxy"
              }
            }
          },
          "description": "Updated reverseproxy"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ReverseProxy"
                }
              }
            },
            "description": "Response reverseproxies updated just now"
          }
        },
        "tags": [
          "ReverseProxyV1alpha1"
        ]
      }
    },
    "/apis/plugin.halo.run/v1alpha1/searchengines": {
      "get": {
        "description": "List SearchEngine",
        "operationId": "listSearchEngine",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SearchEngineList"
                }
              }
            },
            "description": "Response searchengines"
          }
        },
        "tags": [
          "SearchEngineV1alpha1"
        ]
      },
      "post": {
        "description": "Create SearchEngine",
        "operationId": "createSearchEngine",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/SearchEngine"
              }
            }
          },
          "description": "Fresh searchengine"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SearchEngine"
                }
              }
            },
            "description": "Response searchengines created just now"
          }
        },
        "tags": [
          "SearchEngineV1alpha1"
        ]
      }
    },
    "/apis/plugin.halo.run/v1alpha1/searchengines/{name}": {
      "delete": {
        "description": "Delete SearchEngine",
        "operationId": "deleteSearchEngine",
        "parameters": [
          {
            "description": "Name of searchengine",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response searchengine deleted just now"
          }
        },
        "tags": [
          "SearchEngineV1alpha1"
        ]
      },
      "get": {
        "description": "Get SearchEngine",
        "operationId": "getSearchEngine",
        "parameters": [
          {
            "description": "Name of searchengine",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SearchEngine"
                }
              }
            },
            "description": "Response single searchengine"
          }
        },
        "tags": [
          "SearchEngineV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch SearchEngine",
        "operationId": "patchSearchEngine",
        "parameters": [
          {
            "description": "Name of searchengine",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SearchEngine"
                }
              }
            },
            "description": "Response searchengine patched just now"
          }
        },
        "tags": [
          "SearchEngineV1alpha1"
        ]
      },
      "put": {
        "description": "Update SearchEngine",
        "operationId": "updateSearchEngine",
        "parameters": [
          {
            "description": "Name of searchengine",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/SearchEngine"
              }
            }
          },
          "description": "Updated searchengine"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/SearchEngine"
                }
              }
            },
            "description": "Response searchengines updated just now"
          }
        },
        "tags": [
          "SearchEngineV1alpha1"
        ]
      }
    },
    "/apis/security.halo.run/v1alpha1/devices": {
      "get": {
        "description": "List Device",
        "operationId": "listDevice",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceList"
                }
              }
            },
            "description": "Response devices"
          }
        },
        "tags": [
          "DeviceV1alpha1"
        ]
      },
      "post": {
        "description": "Create Device",
        "operationId": "createDevice",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Device"
              }
            }
          },
          "description": "Fresh device"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Device"
                }
              }
            },
            "description": "Response devices created just now"
          }
        },
        "tags": [
          "DeviceV1alpha1"
        ]
      }
    },
    "/apis/security.halo.run/v1alpha1/devices/{name}": {
      "delete": {
        "description": "Delete Device",
        "operationId": "deleteDevice",
        "parameters": [
          {
            "description": "Name of device",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response device deleted just now"
          }
        },
        "tags": [
          "DeviceV1alpha1"
        ]
      },
      "get": {
        "description": "Get Device",
        "operationId": "getDevice",
        "parameters": [
          {
            "description": "Name of device",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Device"
                }
              }
            },
            "description": "Response single device"
          }
        },
        "tags": [
          "DeviceV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Device",
        "operationId": "patchDevice",
        "parameters": [
          {
            "description": "Name of device",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Device"
                }
              }
            },
            "description": "Response device patched just now"
          }
        },
        "tags": [
          "DeviceV1alpha1"
        ]
      },
      "put": {
        "description": "Update Device",
        "operationId": "updateDevice",
        "parameters": [
          {
            "description": "Name of device",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Device"
              }
            }
          },
          "description": "Updated device"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Device"
                }
              }
            },
            "description": "Response devices updated just now"
          }
        },
        "tags": [
          "DeviceV1alpha1"
        ]
      }
    },
    "/apis/security.halo.run/v1alpha1/personalaccesstokens": {
      "get": {
        "description": "List PersonalAccessToken",
        "operationId": "listPersonalAccessToken",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PersonalAccessTokenList"
                }
              }
            },
            "description": "Response personalaccesstokens"
          }
        },
        "tags": [
          "PersonalAccessTokenV1alpha1"
        ]
      },
      "post": {
        "description": "Create PersonalAccessToken",
        "operationId": "createPersonalAccessToken",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/PersonalAccessToken"
              }
            }
          },
          "description": "Fresh personalaccesstoken"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PersonalAccessToken"
                }
              }
            },
            "description": "Response personalaccesstokens created just now"
          }
        },
        "tags": [
          "PersonalAccessTokenV1alpha1"
        ]
      }
    },
    "/apis/security.halo.run/v1alpha1/personalaccesstokens/{name}": {
      "delete": {
        "description": "Delete PersonalAccessToken",
        "operationId": "deletePersonalAccessToken",
        "parameters": [
          {
            "description": "Name of personalaccesstoken",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response personalaccesstoken deleted just now"
          }
        },
        "tags": [
          "PersonalAccessTokenV1alpha1"
        ]
      },
      "get": {
        "description": "Get PersonalAccessToken",
        "operationId": "getPersonalAccessToken",
        "parameters": [
          {
            "description": "Name of personalaccesstoken",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PersonalAccessToken"
                }
              }
            },
            "description": "Response single personalaccesstoken"
          }
        },
        "tags": [
          "PersonalAccessTokenV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch PersonalAccessToken",
        "operationId": "patchPersonalAccessToken",
        "parameters": [
          {
            "description": "Name of personalaccesstoken",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PersonalAccessToken"
                }
              }
            },
            "description": "Response personalaccesstoken patched just now"
          }
        },
        "tags": [
          "PersonalAccessTokenV1alpha1"
        ]
      },
      "put": {
        "description": "Update PersonalAccessToken",
        "operationId": "updatePersonalAccessToken",
        "parameters": [
          {
            "description": "Name of personalaccesstoken",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/PersonalAccessToken"
              }
            }
          },
          "description": "Updated personalaccesstoken"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PersonalAccessToken"
                }
              }
            },
            "description": "Response personalaccesstokens updated just now"
          }
        },
        "tags": [
          "PersonalAccessTokenV1alpha1"
        ]
      }
    },
    "/apis/security.halo.run/v1alpha1/remembermetokens": {
      "get": {
        "description": "List RememberMeToken",
        "operationId": "listRememberMeToken",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/RememberMeTokenList"
                }
              }
            },
            "description": "Response remembermetokens"
          }
        },
        "tags": [
          "RememberMeTokenV1alpha1"
        ]
      },
      "post": {
        "description": "Create RememberMeToken",
        "operationId": "createRememberMeToken",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/RememberMeToken"
              }
            }
          },
          "description": "Fresh remembermetoken"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/RememberMeToken"
                }
              }
            },
            "description": "Response remembermetokens created just now"
          }
        },
        "tags": [
          "RememberMeTokenV1alpha1"
        ]
      }
    },
    "/apis/security.halo.run/v1alpha1/remembermetokens/{name}": {
      "delete": {
        "description": "Delete RememberMeToken",
        "operationId": "deleteRememberMeToken",
        "parameters": [
          {
            "description": "Name of remembermetoken",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response remembermetoken deleted just now"
          }
        },
        "tags": [
          "RememberMeTokenV1alpha1"
        ]
      },
      "get": {
        "description": "Get RememberMeToken",
        "operationId": "getRememberMeToken",
        "parameters": [
          {
            "description": "Name of remembermetoken",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/RememberMeToken"
                }
              }
            },
            "description": "Response single remembermetoken"
          }
        },
        "tags": [
          "RememberMeTokenV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch RememberMeToken",
        "operationId": "patchRememberMeToken",
        "parameters": [
          {
            "description": "Name of remembermetoken",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/RememberMeToken"
                }
              }
            },
            "description": "Response remembermetoken patched just now"
          }
        },
        "tags": [
          "RememberMeTokenV1alpha1"
        ]
      },
      "put": {
        "description": "Update RememberMeToken",
        "operationId": "updateRememberMeToken",
        "parameters": [
          {
            "description": "Name of remembermetoken",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/RememberMeToken"
              }
            }
          },
          "description": "Updated remembermetoken"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/RememberMeToken"
                }
              }
            },
            "description": "Response remembermetokens updated just now"
          }
        },
        "tags": [
          "RememberMeTokenV1alpha1"
        ]
      }
    },
    "/apis/storage.halo.run/v1alpha1/attachments": {
      "get": {
        "description": "List Attachment",
        "operationId": "listAttachment",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentList"
                }
              }
            },
            "description": "Response attachments"
          }
        },
        "tags": [
          "AttachmentV1alpha1"
        ]
      },
      "post": {
        "description": "Create Attachment",
        "operationId": "createAttachment",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Attachment"
              }
            }
          },
          "description": "Fresh attachment"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Attachment"
                }
              }
            },
            "description": "Response attachments created just now"
          }
        },
        "tags": [
          "AttachmentV1alpha1"
        ]
      }
    },
    "/apis/storage.halo.run/v1alpha1/attachments/{name}": {
      "delete": {
        "description": "Delete Attachment",
        "operationId": "deleteAttachment",
        "parameters": [
          {
            "description": "Name of attachment",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response attachment deleted just now"
          }
        },
        "tags": [
          "AttachmentV1alpha1"
        ]
      },
      "get": {
        "description": "Get Attachment",
        "operationId": "getAttachment",
        "parameters": [
          {
            "description": "Name of attachment",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Attachment"
                }
              }
            },
            "description": "Response single attachment"
          }
        },
        "tags": [
          "AttachmentV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Attachment",
        "operationId": "patchAttachment",
        "parameters": [
          {
            "description": "Name of attachment",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Attachment"
                }
              }
            },
            "description": "Response attachment patched just now"
          }
        },
        "tags": [
          "AttachmentV1alpha1"
        ]
      },
      "put": {
        "description": "Update Attachment",
        "operationId": "updateAttachment",
        "parameters": [
          {
            "description": "Name of attachment",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Attachment"
              }
            }
          },
          "description": "Updated attachment"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Attachment"
                }
              }
            },
            "description": "Response attachments updated just now"
          }
        },
        "tags": [
          "AttachmentV1alpha1"
        ]
      }
    },
    "/apis/storage.halo.run/v1alpha1/groups": {
      "get": {
        "description": "List Group",
        "operationId": "listGroup",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/GroupList"
                }
              }
            },
            "description": "Response groups"
          }
        },
        "tags": [
          "GroupV1alpha1"
        ]
      },
      "post": {
        "description": "Create Group",
        "operationId": "createGroup",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Group"
              }
            }
          },
          "description": "Fresh group"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            },
            "description": "Response groups created just now"
          }
        },
        "tags": [
          "GroupV1alpha1"
        ]
      }
    },
    "/apis/storage.halo.run/v1alpha1/groups/{name}": {
      "delete": {
        "description": "Delete Group",
        "operationId": "deleteGroup",
        "parameters": [
          {
            "description": "Name of group",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response group deleted just now"
          }
        },
        "tags": [
          "GroupV1alpha1"
        ]
      },
      "get": {
        "description": "Get Group",
        "operationId": "getGroup",
        "parameters": [
          {
            "description": "Name of group",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            },
            "description": "Response single group"
          }
        },
        "tags": [
          "GroupV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Group",
        "operationId": "patchGroup",
        "parameters": [
          {
            "description": "Name of group",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            },
            "description": "Response group patched just now"
          }
        },
        "tags": [
          "GroupV1alpha1"
        ]
      },
      "put": {
        "description": "Update Group",
        "operationId": "updateGroup",
        "parameters": [
          {
            "description": "Name of group",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Group"
              }
            }
          },
          "description": "Updated group"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            },
            "description": "Response groups updated just now"
          }
        },
        "tags": [
          "GroupV1alpha1"
        ]
      }
    },
    "/apis/storage.halo.run/v1alpha1/policies": {
      "get": {
        "description": "List Policy",
        "operationId": "listPolicy",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyList"
                }
              }
            },
            "description": "Response policies"
          }
        },
        "tags": [
          "PolicyV1alpha1"
        ]
      },
      "post": {
        "description": "Create Policy",
        "operationId": "createPolicy",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Policy"
              }
            }
          },
          "description": "Fresh policy"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Policy"
                }
              }
            },
            "description": "Response policies created just now"
          }
        },
        "tags": [
          "PolicyV1alpha1"
        ]
      }
    },
    "/apis/storage.halo.run/v1alpha1/policies/{name}": {
      "delete": {
        "description": "Delete Policy",
        "operationId": "deletePolicy",
        "parameters": [
          {
            "description": "Name of policy",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response policy deleted just now"
          }
        },
        "tags": [
          "PolicyV1alpha1"
        ]
      },
      "get": {
        "description": "Get Policy",
        "operationId": "getPolicy",
        "parameters": [
          {
            "description": "Name of policy",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Policy"
                }
              }
            },
            "description": "Response single policy"
          }
        },
        "tags": [
          "PolicyV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Policy",
        "operationId": "patchPolicy",
        "parameters": [
          {
            "description": "Name of policy",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Policy"
                }
              }
            },
            "description": "Response policy patched just now"
          }
        },
        "tags": [
          "PolicyV1alpha1"
        ]
      },
      "put": {
        "description": "Update Policy",
        "operationId": "updatePolicy",
        "parameters": [
          {
            "description": "Name of policy",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Policy"
              }
            }
          },
          "description": "Updated policy"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Policy"
                }
              }
            },
            "description": "Response policies updated just now"
          }
        },
        "tags": [
          "PolicyV1alpha1"
        ]
      }
    },
    "/apis/storage.halo.run/v1alpha1/policytemplates": {
      "get": {
        "description": "List PolicyTemplate",
        "operationId": "listPolicyTemplate",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyTemplateList"
                }
              }
            },
            "description": "Response policytemplates"
          }
        },
        "tags": [
          "PolicyTemplateV1alpha1"
        ]
      },
      "post": {
        "description": "Create PolicyTemplate",
        "operationId": "createPolicyTemplate",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/PolicyTemplate"
              }
            }
          },
          "description": "Fresh policytemplate"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyTemplate"
                }
              }
            },
            "description": "Response policytemplates created just now"
          }
        },
        "tags": [
          "PolicyTemplateV1alpha1"
        ]
      }
    },
    "/apis/storage.halo.run/v1alpha1/policytemplates/{name}": {
      "delete": {
        "description": "Delete PolicyTemplate",
        "operationId": "deletePolicyTemplate",
        "parameters": [
          {
            "description": "Name of policytemplate",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response policytemplate deleted just now"
          }
        },
        "tags": [
          "PolicyTemplateV1alpha1"
        ]
      },
      "get": {
        "description": "Get PolicyTemplate",
        "operationId": "getPolicyTemplate",
        "parameters": [
          {
            "description": "Name of policytemplate",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyTemplate"
                }
              }
            },
            "description": "Response single policytemplate"
          }
        },
        "tags": [
          "PolicyTemplateV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch PolicyTemplate",
        "operationId": "patchPolicyTemplate",
        "parameters": [
          {
            "description": "Name of policytemplate",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyTemplate"
                }
              }
            },
            "description": "Response policytemplate patched just now"
          }
        },
        "tags": [
          "PolicyTemplateV1alpha1"
        ]
      },
      "put": {
        "description": "Update PolicyTemplate",
        "operationId": "updatePolicyTemplate",
        "parameters": [
          {
            "description": "Name of policytemplate",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/PolicyTemplate"
              }
            }
          },
          "description": "Updated policytemplate"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PolicyTemplate"
                }
              }
            },
            "description": "Response policytemplates updated just now"
          }
        },
        "tags": [
          "PolicyTemplateV1alpha1"
        ]
      }
    },
    "/apis/theme.halo.run/v1alpha1/themes": {
      "get": {
        "description": "List Theme",
        "operationId": "listTheme",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ThemeList"
                }
              }
            },
            "description": "Response themes"
          }
        },
        "tags": [
          "ThemeV1alpha1"
        ]
      },
      "post": {
        "description": "Create Theme",
        "operationId": "createTheme",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Theme"
              }
            }
          },
          "description": "Fresh theme"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Theme"
                }
              }
            },
            "description": "Response themes created just now"
          }
        },
        "tags": [
          "ThemeV1alpha1"
        ]
      }
    },
    "/apis/theme.halo.run/v1alpha1/themes/{name}": {
      "delete": {
        "description": "Delete Theme",
        "operationId": "deleteTheme",
        "parameters": [
          {
            "description": "Name of theme",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Response theme deleted just now"
          }
        },
        "tags": [
          "ThemeV1alpha1"
        ]
      },
      "get": {
        "description": "Get Theme",
        "operationId": "getTheme",
        "parameters": [
          {
            "description": "Name of theme",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Theme"
                }
              }
            },
            "description": "Response single theme"
          }
        },
        "tags": [
          "ThemeV1alpha1"
        ]
      },
      "patch": {
        "description": "Patch Theme",
        "operationId": "patchTheme",
        "parameters": [
          {
            "description": "Name of theme",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/JsonPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Theme"
                }
              }
            },
            "description": "Response theme patched just now"
          }
        },
        "tags": [
          "ThemeV1alpha1"
        ]
      },
      "put": {
        "description": "Update Theme",
        "operationId": "updateTheme",
        "parameters": [
          {
            "description": "Name of theme",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Theme"
              }
            }
          },
          "description": "Updated theme"
        },
        "responses": {
          "200": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Theme"
                }
              }
            },
            "description": "Response themes updated just now"
          }
        },
        "tags": [
          "ThemeV1alpha1"
        ]
      }
    },
    "/apis/uc.api.content.halo.run/v1alpha1/attachments": {
      "post": {
        "description": "Create attachment for the given post.",
        "operationId": "CreateAttachmentForPost",
        "parameters": [
          {
            "description": "Wait for permalink.",
            "in": "query",
            "name": "waitForPermalink",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/PostAttachmentRequest"
              }
            }
          }
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Attachment"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "AttachmentV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.content.halo.run/v1alpha1/posts": {
      "get": {
        "description": "List posts owned by the current user.",
        "operationId": "ListMyPosts",
        "parameters": [
          {
            "description": "Page number. Default is 0.",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Size number. Default is 0.",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "description": "Label selector. e.g.: hidden!\u003dtrue",
            "in": "query",
            "name": "labelSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
            "in": "query",
            "name": "fieldSelector",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "description": "Posts filtered by publish phase.",
            "in": "query",
            "name": "publishPhase",
            "schema": {
              "type": "string",
              "enum": [
                "DRAFT",
                "PENDING_APPROVAL",
                "PUBLISHED",
                "FAILED"
              ]
            }
          },
          {
            "description": "Posts filtered by keyword.",
            "in": "query",
            "name": "keyword",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Posts filtered by category including sub-categories.",
            "in": "query",
            "name": "categoryWithChildren",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ListedPostList"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Uc"
        ]
      },
      "post": {
        "description": "Create my post. If you want to create a post with content, please set\n annotation: \"content.halo.run/content-json\" into annotations and refer\n to Content for corresponding data type.\n",
        "operationId": "CreateMyPost",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Post"
              }
            }
          }
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.content.halo.run/v1alpha1/posts/{name}": {
      "get": {
        "description": "Get post that belongs to the current user.",
        "operationId": "GetMyPost",
        "parameters": [
          {
            "description": "Post name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Uc"
        ]
      },
      "put": {
        "description": "Update my post.",
        "operationId": "UpdateMyPost",
        "parameters": [
          {
            "description": "Post name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Post"
              }
            }
          }
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.content.halo.run/v1alpha1/posts/{name}/draft": {
      "get": {
        "description": "Get my post draft.",
        "operationId": "GetMyPostDraft",
        "parameters": [
          {
            "description": "Post name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Should include patched content and raw or not.",
            "in": "query",
            "name": "patched",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Uc"
        ]
      },
      "put": {
        "description": "Update draft of my post. Please make sure set annotation:\n\"content.halo.run/content-json\" into annotations and refer to\nContent for corresponding data type.\n",
        "operationId": "UpdateMyPostDraft",
        "parameters": [
          {
            "description": "Post name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Snapshot"
              }
            }
          }
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.content.halo.run/v1alpha1/posts/{name}/publish": {
      "put": {
        "description": "Publish my post.",
        "operationId": "PublishMyPost",
        "parameters": [
          {
            "description": "Post name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.content.halo.run/v1alpha1/posts/{name}/unpublish": {
      "put": {
        "description": "Unpublish my post.",
        "operationId": "UnpublishMyPost",
        "parameters": [
          {
            "description": "Post name",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Post"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PostV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.content.halo.run/v1alpha1/snapshots/{name}": {
      "get": {
        "description": "Get snapshot for one post.",
        "operationId": "GetSnapshotForPost",
        "parameters": [
          {
            "description": "Snapshot name.",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Post name.",
            "in": "query",
            "name": "postName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Should include patched content and raw or not.",
            "in": "query",
            "name": "patched",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "SnapshotV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/settings": {
      "get": {
        "description": "Get Two-factor authentication settings.",
        "operationId": "GetTwoFactorAuthenticationSettings",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/TwoFactorAuthSettings"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "TwoFactorAuthV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/settings/disabled": {
      "put": {
        "description": "Disable Two-factor authentication",
        "operationId": "DisableTwoFactor",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/PasswordRequest"
              }
            }
          }
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/TwoFactorAuthSettings"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "TwoFactorAuthV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/settings/enabled": {
      "put": {
        "description": "Enable Two-factor authentication",
        "operationId": "EnableTwoFactor",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/PasswordRequest"
              }
            }
          }
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/TwoFactorAuthSettings"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "TwoFactorAuthV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/totp": {
      "post": {
        "description": "Configure a TOTP",
        "operationId": "ConfigurerTotp",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/TotpRequest"
              }
            }
          }
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/TwoFactorAuthSettings"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "TwoFactorAuthV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/totp/-": {
      "delete": {
        "operationId": "DeleteTotp",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/PasswordRequest"
              }
            }
          }
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/TwoFactorAuthSettings"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "TwoFactorAuthV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.security.halo.run/v1alpha1/authentications/two-factor/totp/auth-link": {
      "get": {
        "description": "Get TOTP auth link, including secret",
        "operationId": "GetTotpAuthLink",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/TotpAuthLinkResponse"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "TwoFactorAuthV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.security.halo.run/v1alpha1/devices": {
      "get": {
        "description": "List all user devices",
        "operationId": "ListDevices",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserDevice"
                  }
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "DeviceV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.security.halo.run/v1alpha1/devices/{deviceId}": {
      "delete": {
        "description": "Revoke a own device",
        "operationId": "RevokeDevice",
        "parameters": [
          {
            "description": "Device ID",
            "in": "path",
            "name": "deviceId",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204 NO_CONTENT": {
            "description": "default response"
          }
        },
        "tags": [
          "DeviceV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.security.halo.run/v1alpha1/personalaccesstokens": {
      "get": {
        "description": "Obtain PAT list.",
        "operationId": "ObtainPats",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PersonalAccessToken"
                  }
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PersonalAccessTokenV1alpha1Uc"
        ]
      },
      "post": {
        "description": "Generate a PAT.",
        "operationId": "GeneratePat",
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/PersonalAccessToken"
              }
            }
          },
          "required": true
        },
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PersonalAccessToken"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "PersonalAccessTokenV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.security.halo.run/v1alpha1/personalaccesstokens/{name}": {
      "delete": {
        "description": "Delete a PAT",
        "operationId": "DeletePat",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {},
        "tags": [
          "PersonalAccessTokenV1alpha1Uc"
        ]
      },
      "get": {
        "description": "Obtain a PAT.",
        "operationId": "ObtainPat",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {},
        "tags": [
          "PersonalAccessTokenV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.security.halo.run/v1alpha1/personalaccesstokens/{name}/actions/restoration": {
      "put": {
        "description": "Restore a PAT.",
        "operationId": "RestorePat",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {},
        "tags": [
          "PersonalAccessTokenV1alpha1Uc"
        ]
      }
    },
    "/apis/uc.api.security.halo.run/v1alpha1/personalaccesstokens/{name}/actions/revocation": {
      "put": {
        "description": "Revoke a PAT",
        "operationId": "RevokePat",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {},
        "tags": [
          "PersonalAccessTokenV1alpha1Uc"
        ]
      }
    },
    "/login/public-key": {
      "get": {
        "description": "Read public key for encrypting password.",
        "operationId": "GetPublicKey",
        "responses": {
          "default": {
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/PublicKeyResponse"
                }
              }
            },
            "description": "default response"
          }
        },
        "tags": [
          "Login"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AddOperation": {
        "required": [
          "op",
          "path",
          "value"
        ],
        "type": "object",
        "properties": {
          "op": {
            "type": "string",
            "enum": [
              "add"
            ]
          },
          "path": {
            "pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
            "type": "string",
            "description": "A JSON Pointer path pointing to the location to move/copy from.",
            "example": "/a/b/c"
          },
          "value": {
            "description": "Value can be any JSON value"
          }
        }
      },
      "AnnotationSetting": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/AnnotationSettingSpec"
          }
        }
      },
      "AnnotationSettingList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/AnnotationSetting"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "AnnotationSettingSpec": {
        "required": [
          "formSchema",
          "targetRef"
        ],
        "type": "object",
        "properties": {
          "formSchema": {
            "minLength": 1,
            "type": "array",
            "items": {
              "minLength": 1,
              "type": "object"
            }
          },
          "targetRef": {
            "$ref": "#/components/schemas/GroupKind"
          }
        }
      },
      "Attachment": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/AttachmentSpec"
          },
          "status": {
            "$ref": "#/components/schemas/AttachmentStatus"
          }
        }
      },
      "AttachmentList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "AttachmentSpec": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Display name of attachment"
          },
          "groupName": {
            "type": "string",
            "description": "Group name"
          },
          "mediaType": {
            "type": "string",
            "description": "Media type of attachment"
          },
          "ownerName": {
            "type": "string",
            "description": "Name of User who uploads the attachment"
          },
          "policyName": {
            "type": "string",
            "description": "Policy name"
          },
          "size": {
            "minimum": 0,
            "type": "integer",
            "description": "Size of attachment. Unit is Byte",
            "format": "int64"
          },
          "tags": {
            "uniqueItems": true,
            "type": "array",
            "description": "Tags of attachment",
            "items": {
              "type": "string",
              "description": "Tag name"
            }
          }
        }
      },
      "AttachmentStatus": {
        "type": "object",
        "properties": {
          "permalink": {
            "type": "string",
            "description": "Permalink of attachment.\nIf it is in local storage, the public URL will be set.\nIf it is in s3 storage, the Object URL will be set.\n"
          }
        }
      },
      "AuthProvider": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/AuthProviderSpec"
          }
        }
      },
      "AuthProviderList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/AuthProvider"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "AuthProviderSpec": {
        "required": [
          "authenticationUrl",
          "displayName"
        ],
        "type": "object",
        "properties": {
          "authenticationUrl": {
            "type": "string",
            "description": "Authentication url of the auth provider"
          },
          "bindingUrl": {
            "type": "string"
          },
          "configMapRef": {
            "$ref": "#/components/schemas/ConfigMapRef"
          },
          "description": {
            "type": "string"
          },
          "displayName": {
            "type": "string",
            "description": "Display name of the auth provider"
          },
          "helpPage": {
            "type": "string"
          },
          "logo": {
            "type": "string"
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          },
          "settingRef": {
            "$ref": "#/components/schemas/SettingRef"
          },
          "unbindUrl": {
            "type": "string"
          },
          "website": {
            "type": "string"
          }
        }
      },
      "Author": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "website": {
            "type": "string"
          }
        }
      },
      "Backup": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/BackupSpec"
          },
          "status": {
            "$ref": "#/components/schemas/BackupStatus"
          }
        }
      },
      "BackupList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Backup"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "BackupSpec": {
        "type": "object",
        "properties": {
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "format": {
            "type": "string",
            "description": "Backup file format. Currently, only zip format is supported."
          }
        }
      },
      "BackupStatus": {
        "type": "object",
        "properties": {
          "completionTimestamp": {
            "type": "string",
            "format": "date-time"
          },
          "failureMessage": {
            "type": "string"
          },
          "failureReason": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "phase": {
            "type": "string",
            "enum": [
              "PENDING",
              "RUNNING",
              "SUCCEEDED",
              "FAILED"
            ]
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "startTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Category": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/CategorySpec"
          },
          "status": {
            "$ref": "#/components/schemas/CategoryStatus"
          }
        }
      },
      "CategoryList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Category"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "CategorySpec": {
        "required": [
          "displayName",
          "priority",
          "slug"
        ],
        "type": "object",
        "properties": {
          "children": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cover": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "hideFromList": {
            "type": "boolean"
          },
          "postTemplate": {
            "maxLength": 255,
            "type": "string"
          },
          "preventParentPostCascadeQuery": {
            "type": "boolean"
          },
          "priority": {
            "type": "integer",
            "format": "int32",
            "default": 0
          },
          "slug": {
            "minLength": 1,
            "type": "string"
          },
          "template": {
            "maxLength": 255,
            "type": "string"
          }
        }
      },
      "CategoryStatus": {
        "type": "object",
        "properties": {
          "permalink": {
            "type": "string"
          },
          "postCount": {
            "type": "integer",
            "format": "int32"
          },
          "visiblePostCount": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CategoryVo": {
        "required": [
          "metadata"
        ],
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "postCount": {
            "type": "integer",
            "format": "int32"
          },
          "spec": {
            "$ref": "#/components/schemas/CategorySpec"
          },
          "status": {
            "$ref": "#/components/schemas/CategoryStatus"
          }
        }
      },
      "CategoryVoList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/CategoryVo"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ChangeOwnPasswordRequest": {
        "required": [
          "oldPassword",
          "password"
        ],
        "type": "object",
        "properties": {
          "oldPassword": {
            "type": "string",
            "description": "Old password."
          },
          "password": {
            "minLength": 6,
            "type": "string",
            "description": "New password."
          }
        }
      },
      "ChangePasswordRequest": {
        "required": [
          "password"
        ],
        "type": "object",
        "properties": {
          "password": {
            "minLength": 6,
            "type": "string",
            "description": "New password."
          }
        }
      },
      "Comment": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/CommentSpec"
          },
          "status": {
            "$ref": "#/components/schemas/CommentStatus"
          }
        }
      },
      "CommentEmailOwner": {
        "type": "object",
        "properties": {
          "avatar": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "website": {
            "type": "string"
          }
        }
      },
      "CommentList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Comment"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "CommentOwner": {
        "required": [
          "kind",
          "name"
        ],
        "type": "object",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "displayName": {
            "type": "string"
          },
          "kind": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "maxLength": 64,
            "type": "string"
          }
        }
      },
      "CommentRequest": {
        "required": [
          "content",
          "raw",
          "subjectRef"
        ],
        "type": "object",
        "properties": {
          "allowNotification": {
            "type": "boolean",
            "default": false
          },
          "content": {
            "minLength": 1,
            "type": "string"
          },
          "owner": {
            "$ref": "#/components/schemas/CommentEmailOwner"
          },
          "raw": {
            "minLength": 1,
            "type": "string"
          },
          "subjectRef": {
            "$ref": "#/components/schemas/Ref"
          }
        }
      },
      "CommentSpec": {
        "required": [
          "allowNotification",
          "approved",
          "content",
          "hidden",
          "owner",
          "priority",
          "raw",
          "subjectRef",
          "top"
        ],
        "type": "object",
        "properties": {
          "allowNotification": {
            "type": "boolean",
            "default": true
          },
          "approved": {
            "type": "boolean",
            "default": false
          },
          "approvedTime": {
            "type": "string",
            "format": "date-time"
          },
          "content": {
            "minLength": 1,
            "type": "string"
          },
          "creationTime": {
            "type": "string",
            "format": "date-time"
          },
          "hidden": {
            "type": "boolean",
            "default": false
          },
          "ipAddress": {
            "type": "string"
          },
          "lastReadTime": {
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "$ref": "#/components/schemas/CommentOwner"
          },
          "priority": {
            "type": "integer",
            "format": "int32",
            "default": 0
          },
          "raw": {
            "minLength": 1,
            "type": "string"
          },
          "subjectRef": {
            "$ref": "#/components/schemas/Ref"
          },
          "top": {
            "type": "boolean",
            "default": false
          },
          "userAgent": {
            "type": "string"
          }
        }
      },
      "CommentStats": {
        "type": "object",
        "properties": {
          "upvote": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CommentStatsVo": {
        "type": "object",
        "properties": {
          "upvote": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CommentStatus": {
        "type": "object",
        "properties": {
          "hasNewReply": {
            "type": "boolean"
          },
          "lastReplyTime": {
            "type": "string",
            "format": "date-time"
          },
          "observedVersion": {
            "type": "integer",
            "format": "int64"
          },
          "replyCount": {
            "type": "integer",
            "format": "int32"
          },
          "unreadReplyCount": {
            "type": "integer",
            "format": "int32"
          },
          "visibleReplyCount": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CommentVo": {
        "required": [
          "metadata",
          "owner",
          "spec",
          "stats"
        ],
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "owner": {
            "$ref": "#/components/schemas/OwnerInfo"
          },
          "spec": {
            "$ref": "#/components/schemas/CommentSpec"
          },
          "stats": {
            "$ref": "#/components/schemas/CommentStatsVo"
          },
          "status": {
            "$ref": "#/components/schemas/CommentStatus"
          }
        },
        "description": "A chunk of items."
      },
      "CommentVoList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/CommentVo"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "CommentWithReplyVo": {
        "required": [
          "metadata",
          "owner",
          "spec",
          "stats"
        ],
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "owner": {
            "$ref": "#/components/schemas/OwnerInfo"
          },
          "replies": {
            "$ref": "#/components/schemas/ListResultReplyVo"
          },
          "spec": {
            "$ref": "#/components/schemas/CommentSpec"
          },
          "stats": {
            "$ref": "#/components/schemas/CommentStatsVo"
          },
          "status": {
            "$ref": "#/components/schemas/CommentStatus"
          }
        },
        "description": "A chunk of items."
      },
      "CommentWithReplyVoList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/CommentWithReplyVo"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "Condition": {
        "required": [
          "lastTransitionTime",
          "status",
          "type"
        ],
        "type": "object",
        "properties": {
          "lastTransitionTime": {
            "type": "string",
            "format": "date-time"
          },
          "message": {
            "maxLength": 32768,
            "type": "string"
          },
          "reason": {
            "maxLength": 1024,
            "pattern": "^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$",
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "TRUE",
              "FALSE",
              "UNKNOWN"
            ]
          },
          "type": {
            "maxLength": 316,
            "pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$",
            "type": "string"
          }
        }
      },
      "ConfigMap": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          }
        }
      },
      "ConfigMapList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ConfigMap"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ConfigMapRef": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "Content": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "raw": {
            "type": "string"
          },
          "rawType": {
            "type": "string"
          }
        }
      },
      "ContentUpdateParam": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "raw": {
            "type": "string"
          },
          "rawType": {
            "type": "string"
          },
          "version": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ContentVo": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "raw": {
            "type": "string"
          }
        }
      },
      "ContentWrapper": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string"
          },
          "raw": {
            "type": "string"
          },
          "rawType": {
            "type": "string"
          },
          "snapshotName": {
            "type": "string"
          }
        }
      },
      "Contributor": {
        "type": "object",
        "properties": {
          "avatar": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "ContributorVo": {
        "required": [
          "metadata"
        ],
        "type": "object",
        "properties": {
          "avatar": {
            "type": "string"
          },
          "bio": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "name": {
            "type": "string"
          },
          "permalink": {
            "type": "string"
          }
        }
      },
      "CopyOperation": {
        "required": [
          "op",
          "from",
          "path"
        ],
        "type": "object",
        "properties": {
          "from": {
            "pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
            "type": "string",
            "description": "A JSON Pointer path pointing to the location to move/copy from.",
            "example": "/a/b/c"
          },
          "op": {
            "type": "string",
            "enum": [
              "copy"
            ]
          },
          "path": {
            "pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
            "type": "string",
            "description": "A JSON Pointer path pointing to the location to move/copy from.",
            "example": "/a/b/c"
          }
        }
      },
      "Counter": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "approvedComment": {
            "type": "integer",
            "format": "int32"
          },
          "downvote": {
            "type": "integer",
            "format": "int32"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "totalComment": {
            "type": "integer",
            "format": "int32"
          },
          "upvote": {
            "type": "integer",
            "format": "int32"
          },
          "visit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CounterList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Counter"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "CounterRequest": {
        "type": "object",
        "properties": {
          "group": {
            "type": "string"
          },
          "hostname": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "plural": {
            "type": "string"
          },
          "referrer": {
            "type": "string"
          },
          "screen": {
            "type": "string"
          }
        }
      },
      "CreateUserRequest": {
        "required": [
          "email",
          "name"
        ],
        "type": "object",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "avatar": {
            "type": "string"
          },
          "bio": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "roles": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CustomTemplates": {
        "type": "object",
        "properties": {
          "category": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateDescriptor"
            }
          },
          "page": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateDescriptor"
            }
          },
          "post": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateDescriptor"
            }
          }
        }
      },
      "DashboardStats": {
        "type": "object",
        "properties": {
          "approvedComments": {
            "type": "integer",
            "format": "int32"
          },
          "comments": {
            "type": "integer",
            "format": "int32"
          },
          "posts": {
            "type": "integer",
            "format": "int32"
          },
          "upvotes": {
            "type": "integer",
            "format": "int32"
          },
          "users": {
            "type": "integer",
            "format": "int32"
          },
          "visits": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "DetailedUser": {
        "required": [
          "roles",
          "user"
        ],
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Role"
            }
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        }
      },
      "Device": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec",
          "status"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/DeviceSpec"
          },
          "status": {
            "$ref": "#/components/schemas/DeviceStatus"
          }
        }
      },
      "DeviceList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Device"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "DeviceSpec": {
        "required": [
          "ipAddress",
          "principalName",
          "sessionId"
        ],
        "type": "object",
        "properties": {
          "ipAddress": {
            "maxLength": 129,
            "type": "string"
          },
          "lastAccessedTime": {
            "type": "string",
            "format": "date-time"
          },
          "lastAuthenticatedTime": {
            "type": "string",
            "format": "date-time"
          },
          "principalName": {
            "minLength": 1,
            "type": "string"
          },
          "rememberMeSeriesId": {
            "type": "string"
          },
          "sessionId": {
            "minLength": 1,
            "type": "string"
          },
          "userAgent": {
            "maxLength": 500,
            "type": "string"
          }
        }
      },
      "DeviceStatus": {
        "type": "object",
        "properties": {
          "browser": {
            "type": "string"
          },
          "os": {
            "type": "string"
          }
        }
      },
      "EmailConfigValidationRequest": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string"
          },
          "enable": {
            "type": "boolean"
          },
          "encryption": {
            "type": "string"
          },
          "host": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "port": {
            "type": "integer",
            "format": "int32"
          },
          "sender": {
            "type": "string"
          },
          "username": {
            "type": "string"
          }
        }
      },
      "EmailVerifyRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          }
        }
      },
      "Excerpt": {
        "required": [
          "autoGenerate"
        ],
        "type": "object",
        "properties": {
          "autoGenerate": {
            "type": "boolean",
            "default": true
          },
          "raw": {
            "type": "string"
          }
        }
      },
      "Extension": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          }
        }
      },
      "ExtensionDefinition": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/ExtensionSpec"
          }
        }
      },
      "ExtensionDefinitionList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ExtensionDefinition"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ExtensionPointDefinition": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/ExtensionPointSpec"
          }
        }
      },
      "ExtensionPointDefinitionList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ExtensionPointDefinition"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ExtensionPointSpec": {
        "required": [
          "className",
          "displayName",
          "type"
        ],
        "type": "object",
        "properties": {
          "className": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "SINGLETON",
              "MULTI_INSTANCE"
            ]
          }
        }
      },
      "ExtensionSpec": {
        "required": [
          "className",
          "displayName",
          "extensionPointName"
        ],
        "type": "object",
        "properties": {
          "className": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "extensionPointName": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          }
        }
      },
      "FileReverseProxyProvider": {
        "type": "object",
        "properties": {
          "directory": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          }
        }
      },
      "GrantRequest": {
        "type": "object",
        "properties": {
          "roles": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Group": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/GroupSpec"
          },
          "status": {
            "$ref": "#/components/schemas/GroupStatus"
          }
        }
      },
      "GroupKind": {
        "type": "object",
        "properties": {
          "group": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          }
        }
      },
      "GroupList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Group"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "GroupSpec": {
        "required": [
          "displayName"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Display name of group"
          }
        }
      },
      "GroupStatus": {
        "type": "object",
        "properties": {
          "totalAttachments": {
            "minimum": 0,
            "type": "integer",
            "description": "Total of attachments under the current group",
            "format": "int64"
          },
          "updateTimestamp": {
            "type": "string",
            "description": "Update timestamp of the group",
            "format": "date-time"
          }
        }
      },
      "HaloDocument": {
        "required": [
          "content",
          "id",
          "metadataName",
          "ownerName",
          "permalink",
          "title",
          "type"
        ],
        "type": "object",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "content": {
            "type": "string"
          },
          "creationTimestamp": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "exposed": {
            "type": "boolean"
          },
          "id": {
            "type": "string"
          },
          "metadataName": {
            "type": "string"
          },
          "ownerName": {
            "type": "string"
          },
          "permalink": {
            "type": "string"
          },
          "published": {
            "type": "boolean"
          },
          "recycled": {
            "type": "boolean"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "updateTimestamp": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "IAvatarUploadRequest": {
        "required": [
          "file"
        ],
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary"
          }
        }
      },
      "IUploadRequest": {
        "required": [
          "file",
          "policyName"
        ],
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary"
          },
          "groupName": {
            "type": "string",
            "description": "The name of the group to which the attachment belongs"
          },
          "policyName": {
            "type": "string",
            "description": "Storage policy name"
          }
        }
      },
      "InstallFromUriRequest": {
        "required": [
          "uri"
        ],
        "type": "object",
        "properties": {
          "uri": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "InterestReason": {
        "required": [
          "reasonType",
          "subject"
        ],
        "type": "object",
        "properties": {
          "expression": {
            "type": "string",
            "description": "The expression to be interested in"
          },
          "reasonType": {
            "type": "string",
            "description": "The name of the reason definition to be interested in"
          },
          "subject": {
            "$ref": "#/components/schemas/InterestReasonSubject"
          }
        },
        "description": "The reason to be interested in"
      },
      "InterestReasonSubject": {
        "required": [
          "apiVersion",
          "kind"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "minLength": 1,
            "type": "string"
          },
          "kind": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "if name is not specified, it presents all subjects of the specified reason type and custom resources"
          }
        },
        "description": "The subject name of reason type to be interested in"
      },
      "JsonPatch": {
        "minItems": 1,
        "uniqueItems": true,
        "type": "array",
        "description": "JSON schema for JSONPatch operations",
        "items": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/AddOperation"
            },
            {
              "$ref": "#/components/schemas/ReplaceOperation"
            },
            {
              "$ref": "#/components/schemas/TestOperation"
            },
            {
              "$ref": "#/components/schemas/RemoveOperation"
            },
            {
              "$ref": "#/components/schemas/MoveOperation"
            },
            {
              "$ref": "#/components/schemas/CopyOperation"
            }
          ]
        }
      },
      "License": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        }
      },
      "ListResultReplyVo": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ReplyVo"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ListedAuthProvider": {
        "required": [
          "displayName",
          "name"
        ],
        "type": "object",
        "properties": {
          "authenticationUrl": {
            "type": "string"
          },
          "bindingUrl": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "helpPage": {
            "type": "string"
          },
          "isBound": {
            "type": "boolean"
          },
          "logo": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "privileged": {
            "type": "boolean"
          },
          "supportsBinding": {
            "type": "boolean"
          },
          "unbindingUrl": {
            "type": "string"
          },
          "website": {
            "type": "string"
          }
        }
      },
      "ListedComment": {
        "required": [
          "comment",
          "owner",
          "stats"
        ],
        "type": "object",
        "properties": {
          "comment": {
            "$ref": "#/components/schemas/Comment"
          },
          "owner": {
            "$ref": "#/components/schemas/OwnerInfo"
          },
          "stats": {
            "$ref": "#/components/schemas/CommentStats"
          },
          "subject": {
            "$ref": "#/components/schemas/Extension"
          }
        },
        "description": "A chunk of items."
      },
      "ListedCommentList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ListedComment"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ListedPost": {
        "required": [
          "categories",
          "contributors",
          "owner",
          "post",
          "stats",
          "tags"
        ],
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Category"
            }
          },
          "contributors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Contributor"
            }
          },
          "owner": {
            "$ref": "#/components/schemas/Contributor"
          },
          "post": {
            "$ref": "#/components/schemas/Post"
          },
          "stats": {
            "$ref": "#/components/schemas/Stats"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        },
        "description": "A chunk of items."
      },
      "ListedPostList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ListedPost"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ListedPostVo": {
        "required": [
          "metadata"
        ],
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CategoryVo"
            }
          },
          "contributors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContributorVo"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "owner": {
            "$ref": "#/components/schemas/ContributorVo"
          },
          "spec": {
            "$ref": "#/components/schemas/PostSpec"
          },
          "stats": {
            "$ref": "#/components/schemas/StatsVo"
          },
          "status": {
            "$ref": "#/components/schemas/PostStatus"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagVo"
            }
          }
        }
      },
      "ListedPostVoList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ListedPostVo"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ListedReply": {
        "required": [
          "owner",
          "reply",
          "stats"
        ],
        "type": "object",
        "properties": {
          "owner": {
            "$ref": "#/components/schemas/OwnerInfo"
          },
          "reply": {
            "$ref": "#/components/schemas/Reply"
          },
          "stats": {
            "$ref": "#/components/schemas/CommentStats"
          }
        },
        "description": "A chunk of items."
      },
      "ListedReplyList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ListedReply"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ListedSinglePage": {
        "required": [
          "contributors",
          "owner",
          "page",
          "stats"
        ],
        "type": "object",
        "properties": {
          "contributors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Contributor"
            }
          },
          "owner": {
            "$ref": "#/components/schemas/Contributor"
          },
          "page": {
            "$ref": "#/components/schemas/SinglePage"
          },
          "stats": {
            "$ref": "#/components/schemas/Stats"
          }
        },
        "description": "A chunk of items."
      },
      "ListedSinglePageList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ListedSinglePage"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ListedSinglePageVo": {
        "required": [
          "metadata"
        ],
        "type": "object",
        "properties": {
          "contributors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContributorVo"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "owner": {
            "$ref": "#/components/schemas/ContributorVo"
          },
          "spec": {
            "$ref": "#/components/schemas/SinglePageSpec"
          },
          "stats": {
            "$ref": "#/components/schemas/StatsVo"
          },
          "status": {
            "$ref": "#/components/schemas/SinglePageStatus"
          }
        },
        "description": "A chunk of items."
      },
      "ListedSinglePageVoList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ListedSinglePageVo"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ListedSnapshotDto": {
        "required": [
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/ListedSnapshotSpec"
          }
        }
      },
      "ListedSnapshotSpec": {
        "required": [
          "owner"
        ],
        "type": "object",
        "properties": {
          "modifyTime": {
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "type": "string"
          }
        }
      },
      "ListedUser": {
        "required": [
          "roles",
          "user"
        ],
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Role"
            }
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        },
        "description": "A chunk of items."
      },
      "LoginHistory": {
        "required": [
          "loginAt",
          "sourceIp",
          "successful",
          "userAgent"
        ],
        "type": "object",
        "properties": {
          "loginAt": {
            "type": "string",
            "format": "date-time"
          },
          "reason": {
            "type": "string"
          },
          "sourceIp": {
            "type": "string"
          },
          "successful": {
            "type": "boolean"
          },
          "userAgent": {
            "type": "string"
          }
        }
      },
      "MarkSpecifiedRequest": {
        "type": "object",
        "properties": {
          "names": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Menu": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/MenuSpec"
          }
        }
      },
      "MenuItem": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/MenuItemSpec"
          },
          "status": {
            "$ref": "#/components/schemas/MenuItemStatus"
          }
        }
      },
      "MenuItemList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/MenuItem"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "MenuItemSpec": {
        "type": "object",
        "properties": {
          "children": {
            "uniqueItems": true,
            "type": "array",
            "description": "Children of this menu item",
            "items": {
              "type": "string",
              "description": "The name of menu item child"
            }
          },
          "displayName": {
            "type": "string",
            "description": "The display name of menu item."
          },
          "href": {
            "type": "string",
            "description": "The href of this menu item."
          },
          "priority": {
            "type": "integer",
            "description": "The priority is for ordering.",
            "format": "int32"
          },
          "target": {
            "type": "string",
            "description": "The \u003ca\u003e target attribute of this menu item.",
            "enum": [
              "_blank",
              "_self",
              "_parent",
              "_top"
            ]
          },
          "targetRef": {
            "$ref": "#/components/schemas/Ref"
          }
        },
        "description": "The spec of menu item."
      },
      "MenuItemStatus": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Calculated Display name of menu item."
          },
          "href": {
            "type": "string",
            "description": "Calculated href of manu item."
          }
        },
        "description": "The status of menu item."
      },
      "MenuItemVo": {
        "required": [
          "metadata"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "parentName": {
            "type": "string"
          },
          "spec": {
            "$ref": "#/components/schemas/MenuItemSpec"
          },
          "status": {
            "$ref": "#/components/schemas/MenuItemStatus"
          }
        }
      },
      "MenuList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Menu"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "MenuSpec": {
        "required": [
          "displayName"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "description": "The display name of the menu."
          },
          "menuItems": {
            "uniqueItems": true,
            "type": "array",
            "description": "Names of menu children below this menu.",
            "items": {
              "type": "string",
              "description": "Names of menu children below this menu."
            }
          }
        },
        "description": "The spec of menu."
      },
      "MenuVo": {
        "required": [
          "metadata"
        ],
        "type": "object",
        "properties": {
          "menuItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MenuItemVo"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/MenuSpec"
          }
        }
      },
      "Metadata": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "creationTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "deletionTimestamp": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "finalizers": {
            "uniqueItems": true,
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string",
              "nullable": true
            }
          },
          "generateName": {
            "type": "string",
            "description": "The name field will be generated automatically according to the given generateName field"
          },
          "labels": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "name": {
            "type": "string",
            "description": "Metadata name"
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        }
      },
      "MoveOperation": {
        "required": [
          "op",
          "from",
          "path"
        ],
        "type": "object",
        "properties": {
          "from": {
            "pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
            "type": "string",
            "description": "A JSON Pointer path pointing to the location to move/copy from.",
            "example": "/a/b/c"
          },
          "op": {
            "type": "string",
            "enum": [
              "move"
            ]
          },
          "path": {
            "pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
            "type": "string",
            "description": "A JSON Pointer path pointing to the location to move/copy from.",
            "example": "/a/b/c"
          }
        }
      },
      "NavigationPostVo": {
        "type": "object",
        "properties": {
          "current": {
            "$ref": "#/components/schemas/PostVo"
          },
          "next": {
            "$ref": "#/components/schemas/PostVo"
          },
          "previous": {
            "$ref": "#/components/schemas/PostVo"
          }
        }
      },
      "Notification": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/NotificationSpec"
          }
        }
      },
      "NotificationList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Notification"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "NotificationSpec": {
        "required": [
          "htmlContent",
          "rawContent",
          "reason",
          "recipient",
          "title"
        ],
        "type": "object",
        "properties": {
          "htmlContent": {
            "type": "string"
          },
          "lastReadAt": {
            "type": "string",
            "format": "date-time"
          },
          "rawContent": {
            "type": "string"
          },
          "reason": {
            "minLength": 1,
            "type": "string",
            "description": "The name of reason"
          },
          "recipient": {
            "minLength": 1,
            "type": "string",
            "description": "The name of user"
          },
          "title": {
            "minLength": 1,
            "type": "string"
          },
          "unread": {
            "type": "boolean"
          }
        }
      },
      "NotificationTemplate": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/NotificationTemplateSpec"
          }
        }
      },
      "NotificationTemplateList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/NotificationTemplate"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "NotificationTemplateSpec": {
        "type": "object",
        "properties": {
          "reasonSelector": {
            "$ref": "#/components/schemas/ReasonSelector"
          },
          "template": {
            "$ref": "#/components/schemas/TemplateContent"
          }
        }
      },
      "NotifierDescriptor": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/NotifierDescriptorSpec"
          }
        }
      },
      "NotifierDescriptorList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/NotifierDescriptor"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "NotifierDescriptorSpec": {
        "required": [
          "displayName",
          "notifierExtName"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "notifierExtName": {
            "minLength": 1,
            "type": "string"
          },
          "receiverSettingRef": {
            "$ref": "#/components/schemas/NotifierSettingRef"
          },
          "senderSettingRef": {
            "$ref": "#/components/schemas/NotifierSettingRef"
          }
        }
      },
      "NotifierInfo": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "NotifierSettingRef": {
        "required": [
          "group",
          "name"
        ],
        "type": "object",
        "properties": {
          "group": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "OwnerInfo": {
        "type": "object",
        "properties": {
          "avatar": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "PasswordRequest": {
        "required": [
          "password"
        ],
        "type": "object",
        "properties": {
          "password": {
            "type": "string"
          }
        }
      },
      "PasswordResetEmailRequest": {
        "required": [
          "email",
          "username"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "username": {
            "type": "string"
          }
        }
      },
      "PatSpec": {
        "required": [
          "name",
          "tokenId",
          "username"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastUsed": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string"
          },
          "revoked": {
            "type": "boolean"
          },
          "revokesAt": {
            "type": "string",
            "format": "date-time"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tokenId": {
            "type": "string"
          },
          "username": {
            "type": "string"
          }
        }
      },
      "PersonalAccessToken": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/PatSpec"
          }
        }
      },
      "PersonalAccessTokenList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/PersonalAccessToken"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "Plugin": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/PluginSpec"
          },
          "status": {
            "$ref": "#/components/schemas/PluginStatus"
          }
        }
      },
      "PluginAuthor": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "website": {
            "type": "string"
          }
        }
      },
      "PluginInstallRequest": {
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary"
          },
          "presetName": {
            "type": "string",
            "description": "Plugin preset name. We will find the plugin from plugin presets"
          },
          "source": {
            "type": "string",
            "description": "Install source. Default is file.",
            "enum": [
              "FILE",
              "PRESET",
              "URL"
            ]
          }
        }
      },
      "PluginList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Plugin"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "PluginRunningStateRequest": {
        "type": "object",
        "properties": {
          "async": {
            "type": "boolean"
          },
          "enable": {
            "type": "boolean"
          }
        }
      },
      "PluginSpec": {
        "required": [
          "version"
        ],
        "type": "object",
        "properties": {
          "author": {
            "$ref": "#/components/schemas/PluginAuthor"
          },
          "configMapName": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "homepage": {
            "type": "string"
          },
          "issues": {
            "type": "string"
          },
          "license": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/License"
            }
          },
          "logo": {
            "type": "string"
          },
          "pluginClass": {
            "type": "string",
            "deprecated": true
          },
          "pluginDependencies": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "repo": {
            "type": "string"
          },
          "requires": {
            "type": "string"
          },
          "settingName": {
            "type": "string"
          },
          "version": {
            "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
            "type": "string"
          }
        }
      },
      "PluginStatus": {
        "type": "object",
        "properties": {
          "conditions": {
            "type": "array",
            "properties": {
              "empty": {
                "type": "boolean"
              }
            },
            "items": {
              "$ref": "#/components/schemas/Condition"
            }
          },
          "entry": {
            "type": "string"
          },
          "lastProbeState": {
            "type": "string",
            "enum": [
              "CREATED",
              "DISABLED",
              "RESOLVED",
              "STARTED",
              "STOPPED",
              "FAILED",
              "UNLOADED"
            ]
          },
          "lastStartTime": {
            "type": "string",
            "format": "date-time"
          },
          "loadLocation": {
            "type": "string",
            "description": "Load location of the plugin, often a path.",
            "format": "uri"
          },
          "logo": {
            "type": "string"
          },
          "phase": {
            "type": "string",
            "enum": [
              "PENDING",
              "STARTING",
              "CREATED",
              "DISABLING",
              "DISABLED",
              "RESOLVED",
              "STARTED",
              "STOPPED",
              "FAILED",
              "UNKNOWN"
            ]
          },
          "stylesheet": {
            "type": "string"
          }
        }
      },
      "Policy": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/PolicySpec"
          }
        }
      },
      "PolicyList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Policy"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "PolicyRule": {
        "type": "object",
        "properties": {
          "apiGroups": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "nonResourceURLs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "resourceNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "resources": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "verbs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "PolicySpec": {
        "required": [
          "displayName",
          "templateName"
        ],
        "type": "object",
        "properties": {
          "configMapName": {
            "type": "string",
            "description": "Reference name of ConfigMap extension"
          },
          "displayName": {
            "type": "string",
            "description": "Display name of policy"
          },
          "templateName": {
            "type": "string",
            "description": "Reference name of PolicyTemplate"
          }
        }
      },
      "PolicyTemplate": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/PolicyTemplateSpec"
          }
        }
      },
      "PolicyTemplateList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/PolicyTemplate"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "PolicyTemplateSpec": {
        "required": [
          "settingName"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string"
          },
          "settingName": {
            "type": "string"
          }
        }
      },
      "Post": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/PostSpec"
          },
          "status": {
            "$ref": "#/components/schemas/PostStatus"
          }
        }
      },
      "PostAttachmentRequest": {
        "required": [
          "file"
        ],
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary"
          },
          "postName": {
            "type": "string",
            "description": "Post name."
          },
          "singlePageName": {
            "type": "string",
            "description": "Single page name."
          }
        }
      },
      "PostList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Post"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "PostRequest": {
        "required": [
          "post"
        ],
        "type": "object",
        "properties": {
          "content": {
            "$ref": "#/components/schemas/ContentUpdateParam"
          },
          "post": {
            "$ref": "#/components/schemas/Post"
          }
        }
      },
      "PostSpec": {
        "required": [
          "allowComment",
          "deleted",
          "excerpt",
          "pinned",
          "priority",
          "publish",
          "slug",
          "title",
          "visible"
        ],
        "type": "object",
        "properties": {
          "allowComment": {
            "type": "boolean",
            "default": true
          },
          "baseSnapshot": {
            "type": "string"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cover": {
            "type": "string"
          },
          "deleted": {
            "type": "boolean",
            "default": false
          },
          "excerpt": {
            "$ref": "#/components/schemas/Excerpt"
          },
          "headSnapshot": {
            "type": "string"
          },
          "htmlMetas": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "owner": {
            "type": "string"
          },
          "pinned": {
            "type": "boolean",
            "default": false
          },
          "priority": {
            "type": "integer",
            "format": "int32",
            "default": 0
          },
          "publish": {
            "type": "boolean",
            "default": false
          },
          "publishTime": {
            "type": "string",
            "format": "date-time"
          },
          "releaseSnapshot": {
            "type": "string"
          },
          "slug": {
            "minLength": 1,
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "template": {
            "type": "string"
          },
          "title": {
            "minLength": 1,
            "type": "string"
          },
          "visible": {
            "type": "string",
            "enum": [
              "PUBLIC",
              "INTERNAL",
              "PRIVATE"
            ],
            "default": "PUBLIC"
          }
        }
      },
      "PostStatus": {
        "required": [
          "phase"
        ],
        "type": "object",
        "properties": {
          "commentsCount": {
            "type": "integer",
            "format": "int32"
          },
          "conditions": {
            "type": "array",
            "properties": {
              "empty": {
                "type": "boolean"
              }
            },
            "items": {
              "$ref": "#/components/schemas/Condition"
            }
          },
          "contributors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "excerpt": {
            "type": "string"
          },
          "hideFromList": {
            "type": "boolean"
          },
          "inProgress": {
            "type": "boolean"
          },
          "lastModifyTime": {
            "type": "string",
            "format": "date-time"
          },
          "observedVersion": {
            "type": "integer",
            "format": "int64"
          },
          "permalink": {
            "type": "string"
          },
          "phase": {
            "type": "string"
          }
        }
      },
      "PostVo": {
        "required": [
          "metadata"
        ],
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CategoryVo"
            }
          },
          "content": {
            "$ref": "#/components/schemas/ContentVo"
          },
          "contributors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContributorVo"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "owner": {
            "$ref": "#/components/schemas/ContributorVo"
          },
          "spec": {
            "$ref": "#/components/schemas/PostSpec"
          },
          "stats": {
            "$ref": "#/components/schemas/StatsVo"
          },
          "status": {
            "$ref": "#/components/schemas/PostStatus"
          },
          "tags": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TagVo"
            }
          }
        }
      },
      "PublicKeyResponse": {
        "type": "object",
        "properties": {
          "base64Format": {
            "type": "string"
          }
        }
      },
      "Reason": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/ReasonSpec"
          }
        }
      },
      "ReasonList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Reason"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ReasonProperty": {
        "required": [
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "optional": {
            "type": "boolean",
            "default": false
          },
          "type": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "ReasonSelector": {
        "required": [
          "language",
          "reasonType"
        ],
        "type": "object",
        "properties": {
          "language": {
            "minLength": 1,
            "type": "string",
            "default": "default"
          },
          "reasonType": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "ReasonSpec": {
        "required": [
          "author",
          "reasonType",
          "subject"
        ],
        "type": "object",
        "properties": {
          "attributes": {
            "type": "object",
            "properties": {
              "empty": {
                "type": "boolean"
              }
            },
            "description": "Attributes used to transfer data"
          },
          "author": {
            "type": "string"
          },
          "reasonType": {
            "type": "string"
          },
          "subject": {
            "$ref": "#/components/schemas/ReasonSubject"
          }
        }
      },
      "ReasonSubject": {
        "required": [
          "apiVersion",
          "kind",
          "name",
          "title"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        }
      },
      "ReasonType": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/ReasonTypeSpec"
          }
        }
      },
      "ReasonTypeInfo": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "uiPermissions": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ReasonTypeList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ReasonType"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ReasonTypeNotifierCollectionRequest": {
        "required": [
          "reasonTypeNotifiers"
        ],
        "type": "object",
        "properties": {
          "reasonTypeNotifiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReasonTypeNotifierRequest"
            }
          }
        }
      },
      "ReasonTypeNotifierMatrix": {
        "type": "object",
        "properties": {
          "notifiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotifierInfo"
            }
          },
          "reasonTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReasonTypeInfo"
            }
          },
          "stateMatrix": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "ReasonTypeNotifierRequest": {
        "type": "object",
        "properties": {
          "notifiers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "reasonType": {
            "type": "string"
          }
        }
      },
      "ReasonTypeSpec": {
        "required": [
          "description",
          "displayName"
        ],
        "type": "object",
        "properties": {
          "description": {
            "minLength": 1,
            "type": "string"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "properties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReasonProperty"
            }
          }
        }
      },
      "Ref": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "group": {
            "type": "string",
            "description": "Extension group"
          },
          "kind": {
            "type": "string",
            "description": "Extension kind"
          },
          "name": {
            "type": "string",
            "description": "Extension name. This field is mandatory"
          },
          "version": {
            "type": "string",
            "description": "Extension version"
          }
        },
        "description": "Extension reference object. The name is mandatory"
      },
      "RegisterVerifyEmailRequest": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          }
        }
      },
      "RememberMeToken": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/RememberMeTokenSpec"
          }
        }
      },
      "RememberMeTokenList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/RememberMeToken"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "RememberMeTokenSpec": {
        "required": [
          "series",
          "tokenValue",
          "username"
        ],
        "type": "object",
        "properties": {
          "lastUsed": {
            "type": "string",
            "format": "date-time"
          },
          "series": {
            "minLength": 1,
            "type": "string"
          },
          "tokenValue": {
            "minLength": 1,
            "type": "string"
          },
          "username": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "RemoveOperation": {
        "required": [
          "op",
          "path"
        ],
        "type": "object",
        "properties": {
          "op": {
            "type": "string",
            "enum": [
              "remove"
            ]
          },
          "path": {
            "pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
            "type": "string",
            "description": "A JSON Pointer path pointing to the location to move/copy from.",
            "example": "/a/b/c"
          }
        }
      },
      "ReplaceOperation": {
        "required": [
          "op",
          "path",
          "value"
        ],
        "type": "object",
        "properties": {
          "op": {
            "type": "string",
            "enum": [
              "replace"
            ]
          },
          "path": {
            "pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
            "type": "string",
            "description": "A JSON Pointer path pointing to the location to move/copy from.",
            "example": "/a/b/c"
          },
          "value": {
            "description": "Value can be any JSON value"
          }
        }
      },
      "Reply": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec",
          "status"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/ReplySpec"
          },
          "status": {
            "$ref": "#/components/schemas/ReplyStatus"
          }
        }
      },
      "ReplyList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Reply"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ReplyRequest": {
        "required": [
          "content",
          "raw"
        ],
        "type": "object",
        "properties": {
          "allowNotification": {
            "type": "boolean",
            "default": false
          },
          "content": {
            "minLength": 1,
            "type": "string"
          },
          "owner": {
            "$ref": "#/components/schemas/CommentEmailOwner"
          },
          "quoteReply": {
            "type": "string"
          },
          "raw": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "ReplySpec": {
        "required": [
          "allowNotification",
          "approved",
          "commentName",
          "content",
          "hidden",
          "owner",
          "priority",
          "raw",
          "top"
        ],
        "type": "object",
        "properties": {
          "allowNotification": {
            "type": "boolean",
            "default": true
          },
          "approved": {
            "type": "boolean",
            "default": false
          },
          "approvedTime": {
            "type": "string",
            "format": "date-time"
          },
          "commentName": {
            "minLength": 1,
            "type": "string"
          },
          "content": {
            "minLength": 1,
            "type": "string"
          },
          "creationTime": {
            "type": "string",
            "format": "date-time"
          },
          "hidden": {
            "type": "boolean",
            "default": false
          },
          "ipAddress": {
            "type": "string"
          },
          "owner": {
            "$ref": "#/components/schemas/CommentOwner"
          },
          "priority": {
            "type": "integer",
            "format": "int32",
            "default": 0
          },
          "quoteReply": {
            "type": "string"
          },
          "raw": {
            "minLength": 1,
            "type": "string"
          },
          "top": {
            "type": "boolean",
            "default": false
          },
          "userAgent": {
            "type": "string"
          }
        }
      },
      "ReplyStatus": {
        "type": "object",
        "properties": {
          "observedVersion": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ReplyVo": {
        "required": [
          "metadata",
          "owner",
          "spec",
          "stats"
        ],
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "owner": {
            "$ref": "#/components/schemas/OwnerInfo"
          },
          "spec": {
            "$ref": "#/components/schemas/ReplySpec"
          },
          "stats": {
            "$ref": "#/components/schemas/CommentStatsVo"
          }
        },
        "description": "A chunk of items."
      },
      "ReplyVoList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ReplyVo"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ResetPasswordRequest": {
        "required": [
          "newPassword",
          "token"
        ],
        "type": "object",
        "properties": {
          "newPassword": {
            "minLength": 6,
            "type": "string"
          },
          "token": {
            "type": "string"
          }
        }
      },
      "RestoreRequest": {
        "type": "object",
        "properties": {
          "backupName": {
            "type": "string",
            "description": "Backup metadata name."
          },
          "downloadUrl": {
            "type": "string",
            "description": "Remote backup HTTP URL."
          },
          "file": {
            "type": "string",
            "format": "binary"
          }
        }
      },
      "ReverseProxy": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReverseProxyRule"
            }
          }
        }
      },
      "ReverseProxyList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ReverseProxy"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ReverseProxyRule": {
        "type": "object",
        "properties": {
          "file": {
            "$ref": "#/components/schemas/FileReverseProxyProvider"
          },
          "path": {
            "type": "string"
          }
        }
      },
      "RevertSnapshotForPostParam": {
        "required": [
          "snapshotName"
        ],
        "type": "object",
        "properties": {
          "snapshotName": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "RevertSnapshotForSingleParam": {
        "required": [
          "snapshotName"
        ],
        "type": "object",
        "properties": {
          "snapshotName": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "Role": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "rules"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PolicyRule"
            }
          }
        }
      },
      "RoleBinding": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "roleRef": {
            "$ref": "#/components/schemas/RoleRef"
          },
          "subjects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Subject"
            }
          }
        }
      },
      "RoleBindingList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/RoleBinding"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "RoleList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Role"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "RoleRef": {
        "type": "object",
        "properties": {
          "apiGroup": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "SearchEngine": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/SearchEngineSpec"
          }
        }
      },
      "SearchEngineList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/SearchEngine"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "SearchEngineSpec": {
        "required": [
          "displayName"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "logo": {
            "type": "string"
          },
          "postSearchImpl": {
            "type": "string"
          },
          "settingRef": {
            "$ref": "#/components/schemas/Ref"
          },
          "website": {
            "type": "string"
          }
        }
      },
      "SearchOption": {
        "required": [
          "keyword"
        ],
        "type": "object",
        "properties": {
          "annotations": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "filterExposed": {
            "type": "boolean"
          },
          "filterPublished": {
            "type": "boolean"
          },
          "filterRecycled": {
            "type": "boolean"
          },
          "highlightPostTag": {
            "type": "string"
          },
          "highlightPreTag": {
            "type": "string"
          },
          "includeCategoryNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "includeOwnerNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "includeTagNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "includeTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "keyword": {
            "type": "string"
          },
          "limit": {
            "maximum": 1000,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "SearchResult": {
        "type": "object",
        "properties": {
          "hits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HaloDocument"
            }
          },
          "keyword": {
            "type": "string"
          },
          "limit": {
            "type": "integer",
            "format": "int32"
          },
          "processingTimeMillis": {
            "type": "integer",
            "format": "int64"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "Secret": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "byte"
              }
            }
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "stringData": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "type": {
            "type": "string"
          }
        }
      },
      "SecretList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Secret"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "Setting": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/SettingSpec"
          }
        }
      },
      "SettingForm": {
        "minLength": 1,
        "required": [
          "formSchema",
          "group"
        ],
        "type": "object",
        "properties": {
          "formSchema": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "group": {
            "type": "string"
          },
          "label": {
            "type": "string"
          }
        }
      },
      "SettingList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Setting"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "SettingRef": {
        "required": [
          "group",
          "name"
        ],
        "type": "object",
        "properties": {
          "group": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "SettingSpec": {
        "required": [
          "forms"
        ],
        "type": "object",
        "properties": {
          "forms": {
            "minLength": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SettingForm"
            }
          }
        }
      },
      "SignUpRequest": {
        "required": [
          "password",
          "user"
        ],
        "type": "object",
        "properties": {
          "password": {
            "minLength": 6,
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "verifyCode": {
            "maxLength": 6,
            "minLength": 6,
            "type": "string"
          }
        }
      },
      "SinglePage": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/SinglePageSpec"
          },
          "status": {
            "$ref": "#/components/schemas/SinglePageStatus"
          }
        }
      },
      "SinglePageList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/SinglePage"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "SinglePageRequest": {
        "required": [
          "content",
          "page"
        ],
        "type": "object",
        "properties": {
          "content": {
            "$ref": "#/components/schemas/ContentUpdateParam"
          },
          "page": {
            "$ref": "#/components/schemas/SinglePage"
          }
        }
      },
      "SinglePageSpec": {
        "required": [
          "allowComment",
          "deleted",
          "excerpt",
          "pinned",
          "priority",
          "publish",
          "slug",
          "title",
          "visible"
        ],
        "type": "object",
        "properties": {
          "allowComment": {
            "type": "boolean",
            "default": true
          },
          "baseSnapshot": {
            "type": "string"
          },
          "cover": {
            "type": "string"
          },
          "deleted": {
            "type": "boolean",
            "default": false
          },
          "excerpt": {
            "$ref": "#/components/schemas/Excerpt"
          },
          "headSnapshot": {
            "type": "string"
          },
          "htmlMetas": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "owner": {
            "type": "string"
          },
          "pinned": {
            "type": "boolean",
            "default": false
          },
          "priority": {
            "type": "integer",
            "format": "int32",
            "default": 0
          },
          "publish": {
            "type": "boolean",
            "default": false
          },
          "publishTime": {
            "type": "string",
            "format": "date-time"
          },
          "releaseSnapshot": {
            "type": "string"
          },
          "slug": {
            "minLength": 1,
            "type": "string"
          },
          "template": {
            "type": "string"
          },
          "title": {
            "minLength": 1,
            "type": "string"
          },
          "visible": {
            "type": "string",
            "enum": [
              "PUBLIC",
              "INTERNAL",
              "PRIVATE"
            ],
            "default": "PUBLIC"
          }
        }
      },
      "SinglePageStatus": {
        "required": [
          "phase"
        ],
        "type": "object",
        "properties": {
          "commentsCount": {
            "type": "integer",
            "format": "int32"
          },
          "conditions": {
            "type": "array",
            "properties": {
              "empty": {
                "type": "boolean"
              }
            },
            "items": {
              "$ref": "#/components/schemas/Condition"
            }
          },
          "contributors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "excerpt": {
            "type": "string"
          },
          "hideFromList": {
            "type": "boolean"
          },
          "inProgress": {
            "type": "boolean"
          },
          "lastModifyTime": {
            "type": "string",
            "format": "date-time"
          },
          "observedVersion": {
            "type": "integer",
            "format": "int64"
          },
          "permalink": {
            "type": "string"
          },
          "phase": {
            "type": "string"
          }
        }
      },
      "SinglePageVo": {
        "required": [
          "metadata"
        ],
        "type": "object",
        "properties": {
          "content": {
            "$ref": "#/components/schemas/ContentVo"
          },
          "contributors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContributorVo"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "owner": {
            "$ref": "#/components/schemas/ContributorVo"
          },
          "spec": {
            "$ref": "#/components/schemas/SinglePageSpec"
          },
          "stats": {
            "$ref": "#/components/schemas/StatsVo"
          },
          "status": {
            "$ref": "#/components/schemas/SinglePageStatus"
          }
        }
      },
      "SiteStatsVo": {
        "type": "object",
        "properties": {
          "category": {
            "type": "integer",
            "format": "int32"
          },
          "comment": {
            "type": "integer",
            "format": "int32"
          },
          "post": {
            "type": "integer",
            "format": "int32"
          },
          "upvote": {
            "type": "integer",
            "format": "int32"
          },
          "visit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "SnapShotSpec": {
        "required": [
          "owner",
          "rawType",
          "subjectRef"
        ],
        "type": "object",
        "properties": {
          "contentPatch": {
            "type": "string"
          },
          "contributors": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "lastModifyTime": {
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "minLength": 1,
            "type": "string"
          },
          "parentSnapshotName": {
            "type": "string"
          },
          "rawPatch": {
            "type": "string"
          },
          "rawType": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "subjectRef": {
            "$ref": "#/components/schemas/Ref"
          }
        }
      },
      "Snapshot": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/SnapShotSpec"
          }
        }
      },
      "SnapshotList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Snapshot"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "Stats": {
        "type": "object",
        "properties": {
          "approvedComment": {
            "type": "integer",
            "format": "int32"
          },
          "totalComment": {
            "type": "integer",
            "format": "int32"
          },
          "upvote": {
            "type": "integer",
            "format": "int32"
          },
          "visit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "StatsVo": {
        "type": "object",
        "properties": {
          "comment": {
            "type": "integer",
            "format": "int32"
          },
          "upvote": {
            "type": "integer",
            "format": "int32"
          },
          "visit": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "Subject": {
        "type": "object",
        "properties": {
          "apiGroup": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "Subscription": {
        "required": [
          "apiVersion",
          "kind",
          "metadata"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/SubscriptionSpec"
          }
        }
      },
      "SubscriptionList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Subscription"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "SubscriptionSpec": {
        "required": [
          "reason",
          "subscriber",
          "unsubscribeToken"
        ],
        "type": "object",
        "properties": {
          "disabled": {
            "type": "boolean",
            "description": "Perhaps users need to unsubscribe and interact without receiving notifications again"
          },
          "reason": {
            "$ref": "#/components/schemas/InterestReason"
          },
          "subscriber": {
            "$ref": "#/components/schemas/SubscriptionSubscriber"
          },
          "unsubscribeToken": {
            "type": "string",
            "description": "The token to unsubscribe"
          }
        }
      },
      "SubscriptionSubscriber": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string"
          }
        },
        "description": "The subscriber to be notified"
      },
      "SystemInitializationRequest": {
        "required": [
          "password",
          "username"
        ],
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "password": {
            "minLength": 3,
            "type": "string"
          },
          "siteTitle": {
            "type": "string"
          },
          "username": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "Tag": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/TagSpec"
          },
          "status": {
            "$ref": "#/components/schemas/TagStatus"
          }
        }
      },
      "TagList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "TagSpec": {
        "required": [
          "displayName",
          "slug"
        ],
        "type": "object",
        "properties": {
          "color": {
            "pattern": "^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$",
            "type": "string"
          },
          "cover": {
            "type": "string"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "slug": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "TagStatus": {
        "type": "object",
        "properties": {
          "observedVersion": {
            "type": "integer",
            "format": "int64"
          },
          "permalink": {
            "type": "string"
          },
          "postCount": {
            "type": "integer",
            "format": "int32"
          },
          "visiblePostCount": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "TagVo": {
        "required": [
          "metadata"
        ],
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "postCount": {
            "type": "integer",
            "format": "int32"
          },
          "spec": {
            "$ref": "#/components/schemas/TagSpec"
          },
          "status": {
            "$ref": "#/components/schemas/TagStatus"
          }
        }
      },
      "TagVoList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/TagVo"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "TemplateContent": {
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "htmlBody": {
            "type": "string"
          },
          "rawBody": {
            "type": "string"
          },
          "title": {
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "TemplateDescriptor": {
        "required": [
          "file",
          "name"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string"
          },
          "file": {
            "minLength": 1,
            "type": "string"
          },
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "screenshot": {
            "type": "string"
          }
        }
      },
      "TestOperation": {
        "required": [
          "op",
          "path",
          "value"
        ],
        "type": "object",
        "properties": {
          "op": {
            "type": "string",
            "enum": [
              "test"
            ]
          },
          "path": {
            "pattern": "^(/[^/~]*(~[01][^/~]*)*)*$",
            "type": "string",
            "description": "A JSON Pointer path pointing to the location to move/copy from.",
            "example": "/a/b/c"
          },
          "value": {
            "description": "Value can be any JSON value"
          }
        }
      },
      "Theme": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/ThemeSpec"
          },
          "status": {
            "$ref": "#/components/schemas/ThemeStatus"
          }
        }
      },
      "ThemeInstallRequest": {
        "type": "object"
      },
      "ThemeList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/Theme"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "ThemeSpec": {
        "required": [
          "author",
          "displayName",
          "version"
        ],
        "type": "object",
        "properties": {
          "author": {
            "$ref": "#/components/schemas/Author"
          },
          "configMapName": {
            "type": "string"
          },
          "customTemplates": {
            "$ref": "#/components/schemas/CustomTemplates"
          },
          "description": {
            "type": "string"
          },
          "displayName": {
            "minLength": 1,
            "type": "string"
          },
          "homepage": {
            "type": "string"
          },
          "issues": {
            "type": "string"
          },
          "license": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/License"
            }
          },
          "logo": {
            "type": "string"
          },
          "repo": {
            "type": "string"
          },
          "require": {
            "type": "string",
            "description": "Deprecated, use `requires` instead.",
            "deprecated": true
          },
          "requires": {
            "type": "string"
          },
          "settingName": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "website": {
            "type": "string",
            "deprecated": true
          }
        }
      },
      "ThemeStatus": {
        "type": "object",
        "properties": {
          "conditions": {
            "type": "array",
            "properties": {
              "empty": {
                "type": "boolean"
              }
            },
            "items": {
              "$ref": "#/components/schemas/Condition"
            }
          },
          "location": {
            "type": "string"
          },
          "phase": {
            "type": "string",
            "enum": [
              "READY",
              "FAILED",
              "UNKNOWN"
            ]
          }
        }
      },
      "TotpAuthLinkResponse": {
        "type": "object",
        "properties": {
          "authLink": {
            "type": "string",
            "format": "uri"
          },
          "rawSecret": {
            "type": "string"
          }
        }
      },
      "TotpRequest": {
        "required": [
          "code",
          "password",
          "secret"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "secret": {
            "type": "string"
          }
        }
      },
      "TwoFactorAuthSettings": {
        "type": "object",
        "properties": {
          "available": {
            "type": "boolean"
          },
          "emailVerified": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "totpConfigured": {
            "type": "boolean"
          }
        }
      },
      "UpgradeFromUriRequest": {
        "required": [
          "uri"
        ],
        "type": "object",
        "properties": {
          "uri": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "UpgradeRequest": {
        "required": [
          "file"
        ],
        "type": "object",
        "properties": {
          "file": {
            "type": "string",
            "format": "binary"
          }
        }
      },
      "User": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/UserSpec"
          },
          "status": {
            "$ref": "#/components/schemas/UserStatus"
          }
        }
      },
      "UserConnection": {
        "required": [
          "apiVersion",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object",
        "properties": {
          "apiVersion": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "spec": {
            "$ref": "#/components/schemas/UserConnectionSpec"
          }
        }
      },
      "UserConnectionList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/UserConnection"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "UserConnectionSpec": {
        "required": [
          "accessToken",
          "displayName",
          "providerUserId",
          "registrationId",
          "username"
        ],
        "type": "object",
        "properties": {
          "accessToken": {
            "type": "string"
          },
          "avatarUrl": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string",
            "format": "date-time"
          },
          "profileUrl": {
            "type": "string"
          },
          "providerUserId": {
            "type": "string"
          },
          "refreshToken": {
            "type": "string"
          },
          "registrationId": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "username": {
            "type": "string"
          }
        }
      },
      "UserDevice": {
        "required": [
          "active",
          "currentDevice",
          "device"
        ],
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean"
          },
          "currentDevice": {
            "type": "boolean"
          },
          "device": {
            "$ref": "#/components/schemas/Device"
          }
        }
      },
      "UserEndpoint.ListedUserList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/ListedUser"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "UserList": {
        "required": [
          "first",
          "hasNext",
          "hasPrevious",
          "items",
          "last",
          "page",
          "size",
          "total",
          "totalPages"
        ],
        "type": "object",
        "properties": {
          "first": {
            "type": "boolean",
            "description": "Indicates whether current page is the first page."
          },
          "hasNext": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "hasPrevious": {
            "type": "boolean",
            "description": "Indicates whether current page has previous page."
          },
          "items": {
            "type": "array",
            "description": "A chunk of items.",
            "items": {
              "$ref": "#/components/schemas/User"
            }
          },
          "last": {
            "type": "boolean",
            "description": "Indicates whether current page is the last page."
          },
          "page": {
            "type": "integer",
            "description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "size": {
            "type": "integer",
            "description": "Size of each page. If not set or equal to 0, it means no pagination.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "Total elements.",
            "format": "int64"
          },
          "totalPages": {
            "type": "integer",
            "description": "Indicates total pages.",
            "format": "int64"
          }
        }
      },
      "UserPermission": {
        "required": [
          "permissions",
          "roles",
          "uiPermissions"
        ],
        "type": "object",
        "properties": {
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Role"
            }
          },
          "roles": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Role"
            }
          },
          "uiPermissions": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "UserSpec": {
        "required": [
          "displayName",
          "email"
        ],
        "type": "object",
        "properties": {
          "avatar": {
            "type": "string"
          },
          "bio": {
            "type": "string"
          },
          "disabled": {
            "type": "boolean"
          },
          "displayName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "emailVerified": {
            "type": "boolean"
          },
          "loginHistoryLimit": {
            "type": "integer",
            "format": "int32"
          },
          "password": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "registeredAt": {
            "type": "string",
            "format": "date-time"
          },
          "totpEncryptedSecret": {
            "type": "string"
          },
          "twoFactorAuthEnabled": {
            "type": "boolean"
          }
        }
      },
      "UserStatus": {
        "type": "object",
        "properties": {
          "lastLoginAt": {
            "type": "string",
            "format": "date-time"
          },
          "loginHistories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LoginHistory"
            }
          },
          "permalink": {
            "type": "string"
          }
        }
      },
      "VerifyCodeRequest": {
        "required": [
          "code",
          "password"
        ],
        "type": "object",
        "properties": {
          "code": {
            "minLength": 1,
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        }
      },
      "VoteRequest": {
        "type": "object",
        "properties": {
          "group": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "plural": {
            "type": "string"
          }
        }
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "scheme": "basic",
        "type": "http"
      },
      "bearerAuth": {
        "bearerFormat": "JWT",
        "scheme": "bearer",
        "type": "http"
      }
    }
  }
}