{
  "openapi": "3.1.0",
  "info": {
    "title": "FastAPI",
    "version": "0.1.0"
  },
  "paths": {
    "/api/user/register": {
      "post": {
        "tags": [
          "/api/user"
        ],
        "summary": "Create the admin user and company account with the related parameters.",
        "operationId": "register_api_user_register_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdminUserBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/confirm": {
      "post": {
        "tags": [
          "/api/user"
        ],
        "summary": "Confirm the registration of the user.",
        "operationId": "confirm_api_user_confirm_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/admin/create-user": {
      "post": {
        "tags": [
          "/api/user"
        ],
        "summary": "Use for the admin user to create the new staff user for their company",
        "operationId": "admin_create_user_api_user_admin_create_user_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StaffUserBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/user/resend-confirmation-code": {
      "post": {
        "tags": [
          "/api/user"
        ],
        "summary": "Resend the verification code when register",
        "operationId": "resend_confirmation_code_api_user_resend_confirmation_code_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/initiate-set-password": {
      "post": {
        "tags": [
          "/api/user"
        ],
        "summary": "Used for the user initial auth and set their a new password with the temporary password",
        "operationId": "initiate_set_password_api_user_initiate_set_password_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InitiatePasswordBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/login": {
      "post": {
        "tags": [
          "/api/user"
        ],
        "summary": "User login with the mail and password parameters then get the access_token and id_token",
        "operationId": "login_api_user_login_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LoginBody"
                  }
                ],
                "title": "user login",
                "description": "login the user and get access_token"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/me": {
      "get": {
        "tags": [
          "/api/user"
        ],
        "summary": "Get the user's information with id_token",
        "operationId": "me_api_user_me_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/user/forgot-password": {
      "post": {
        "tags": [
          "/api/user"
        ],
        "summary": "Send a confirmation code to the user to reset the password.",
        "operationId": "forgot_password_api_user_forgot_password_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/reset-password": {
      "post": {
        "tags": [
          "/api/user"
        ],
        "summary": "Reset the password for the user with the confirmation code",
        "operationId": "reset_password_api_user_reset_password_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/delete-current-account": {
      "delete": {
        "tags": [
          "/api/user"
        ],
        "summary": "Delete the currently user who has been login successful first.",
        "description": "删除当前认证用户的账户。（前提条件是当前用户已经登录，认证并生成 access_token）",
        "operationId": "delete_current_user_api_user_delete_current_account_delete",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/user/admin-delete-user": {
      "delete": {
        "tags": [
          "/api/user"
        ],
        "summary": "Help the company's admin user to delete their staff user",
        "description": "delete user from cognito user pool by email",
        "operationId": "admin_delete_user_api_user_admin_delete_user_delete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/user/admin_sync_user": {
      "delete": {
        "tags": [
          "/api/user"
        ],
        "summary": "Sync All User From Cognito",
        "description": "sync user from cognito user pool to silicon db",
        "operationId": "admin_sync_user_api_user_admin_sync_user_delete",
        "parameters": [
          {
            "required": true,
            "schema": {
              "type": "string",
              "title": "Username"
            },
            "name": "username",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/update": {
      "put": {
        "tags": [
          "/api/user"
        ],
        "summary": "Update User Information",
        "description": "update user data.",
        "operationId": "update_api_user_update_put",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/api/user/list": {
      "post": {
        "tags": [
          "/api/user"
        ],
        "summary": "Get User List",
        "description": "get user list from Cognito",
        "operationId": "list_api_user_list_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/app__api__silicon__user__QueryBody"
                  }
                ],
                "title": "the parameter for data query",
                "description": "Optional parameters",
                "default": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/application/create": {
      "post": {
        "tags": [
          "/api/application"
        ],
        "summary": "Create Application Information by admin user",
        "operationId": "create_api_application_create_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__application__CreateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/application/generate-token": {
      "post": {
        "tags": [
          "/api/application"
        ],
        "summary": "Using the application client_id and client_secret to generate a temporary token.",
        "operationId": "generate_token_api_application_generate_token_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GenerateTokenBody"
                  }
                ],
                "title": "application information",
                "description": "login the user and get token"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/application/token-info": {
      "get": {
        "tags": [
          "/api/application"
        ],
        "summary": "Get your app-token information by the temporary token.",
        "operationId": "token_info_api_application_token_info_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/application/update": {
      "post": {
        "tags": [
          "/api/application"
        ],
        "summary": "update applications",
        "operationId": "update_api_application_update_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__application__UpdateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/application/info": {
      "get": {
        "tags": [
          "/api/application"
        ],
        "summary": "get a applications detail information",
        "operationId": "info_api_application_info_get",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__application__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/application/list": {
      "post": {
        "tags": [
          "/api/application"
        ],
        "summary": "search applications list by condition",
        "operationId": "list_api_application_list_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/app__api__silicon__application__QueryBody"
                  }
                ],
                "title": "the parameter for data query",
                "description": "Optional parameters",
                "default": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/application/delete": {
      "delete": {
        "tags": [
          "/api/application"
        ],
        "summary": "delete a applications record by id or name",
        "operationId": "delete_api_application_delete_delete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__application__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/customer/create": {
      "post": {
        "tags": [
          "/api/customer"
        ],
        "summary": "create customers",
        "operationId": "create_api_customer_create_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__customer__CreateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/customer/update": {
      "post": {
        "tags": [
          "/api/customer"
        ],
        "summary": "update customers",
        "operationId": "update_api_customer_update_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__customer__UpdateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/customer/info": {
      "get": {
        "tags": [
          "/api/customer"
        ],
        "summary": "get a customers detail information",
        "operationId": "info_api_customer_info_get",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__customer__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/customer/list": {
      "post": {
        "tags": [
          "/api/customer"
        ],
        "summary": "search customers list by condition",
        "operationId": "list_api_customer_list_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/app__api__silicon__customer__QueryBody"
                  }
                ],
                "title": "the parameter for data query",
                "description": "Optional parameters",
                "default": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/customer/delete": {
      "delete": {
        "tags": [
          "/api/customer"
        ],
        "summary": "delete a customers record by id or name",
        "operationId": "delete_api_customer_delete_delete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__customer__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/gpu/specs-list": {
      "post": {
        "tags": [
          "/api/data-hub/gpu"
        ],
        "summary": "Get GPU specs list",
        "operationId": "specs_list_api_data_hub_gpu_specs_list_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/QueryBase"
                  }
                ],
                "title": "the parameter for data query",
                "description": "Optional parameters",
                "default": {
                  "keyword": "",
                  "num_per_page": 50,
                  "page_num": 1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/gpu/specs-query": {
      "post": {
        "tags": [
          "/api/data-hub/gpu"
        ],
        "summary": "Get GPU specs information by keyword",
        "operationId": "specs_query_api_data_hub_gpu_specs_query_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/QueryBase"
                  }
                ],
                "title": "the parameter for data query",
                "description": "Optional parameters",
                "default": {
                  "keyword": "",
                  "num_per_page": 50,
                  "page_num": 1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/gpu/daily-price": {
      "post": {
        "tags": [
          "/api/data-hub/gpu"
        ],
        "summary": "Get GPU daily price information",
        "operationId": "daily_price_api_data_hub_gpu_daily_price_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/QueryBase"
                  }
                ],
                "title": "the parameter for data query",
                "description": "Optional parameters",
                "default": {
                  "keyword": "",
                  "num_per_page": 50,
                  "page_num": 1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/gpu/rental-price": {
      "post": {
        "tags": [
          "/api/data-hub/gpu"
        ],
        "summary": "Get GPU rental history price",
        "operationId": "rental_price_api_data_hub_gpu_rental_price_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceHistoryBase"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/gpu/retail-price": {
      "post": {
        "tags": [
          "/api/data-hub/gpu"
        ],
        "summary": "Get GPU retail history price",
        "operationId": "retail_price_api_data_hub_gpu_retail_price_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PriceHistoryBase"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/carbon/gpu-carbon-intensity": {
      "get": {
        "tags": [
          "/api/data-hub/carbon"
        ],
        "summary": "Batch query carbon intensity of GPUs",
        "operationId": "gpu_carbon_intensity_api_data_hub_carbon_gpu_carbon_intensity_get",
        "parameters": [
          {
            "description": "GPU slug",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Gpu Slug",
              "description": "GPU slug"
            },
            "name": "gpu_slug",
            "in": "query"
          },
          {
            "description": "GPU full name. if GPU slug is filled in, full name will be overridden; if GPU slug is not provided, full name shall be required.",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Gpu Name",
              "description": "GPU full name. if GPU slug is filled in, full name will be overridden; if GPU slug is not provided, full name shall be required."
            },
            "name": "gpu_name",
            "in": "query"
          },
          {
            "description": "GPU used in hours, should be greater then 0",
            "required": true,
            "schema": {
              "type": "number",
              "exclusiveMinimum": 0,
              "title": "Hours Used",
              "description": "GPU used in hours, should be greater then 0"
            },
            "name": "hours_used",
            "in": "query"
          },
          {
            "description": "Zip code of data center",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Zipcode",
              "description": "Zip code of data center"
            },
            "name": "zipcode",
            "in": "query"
          },
          {
            "description": "County code of data center, represented in ISO 3166-1 alpha 2, e.g., 'US' representing United States",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Country Code",
              "description": "County code of data center, represented in ISO 3166-1 alpha 2, e.g., 'US' representing United States"
            },
            "name": "country_code",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      },
      "post": {
        "tags": [
          "/api/data-hub/carbon"
        ],
        "summary": "Calculate carbon intensity of GPU",
        "operationId": "calculate_GPU_carbon_intensity_post_method_api_data_hub_carbon_gpu_carbon_intensity_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GPUCarbonIntensityRequestBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/carbon/zone-emission-rate": {
      "get": {
        "tags": [
          "/api/data-hub/carbon"
        ],
        "summary": "Query carbon emission rate by zipcode and country code",
        "operationId": "zone_emission_rate_api_data_hub_carbon_zone_emission_rate_get",
        "parameters": [
          {
            "description": "Zip code",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Zipcode",
              "description": "Zip code"
            },
            "name": "zipcode",
            "in": "query"
          },
          {
            "description": "Country code, represented in ISO 3166-1 alpha-2 format, e.g., 'US' for United States",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Country Code",
              "description": "Country code, represented in ISO 3166-1 alpha-2 format, e.g., 'US' for United States"
            },
            "name": "country_code",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/carbon/gpu-carbon-provider-intensity": {
      "get": {
        "tags": [
          "/api/data-hub/carbon"
        ],
        "summary": "Calculate carbon provider intensity of GPU",
        "operationId": "calculate_GPU_carbon_provider_intensity_api_data_hub_carbon_gpu_carbon_provider_intensity_get",
        "parameters": [
          {
            "description": "GPU slug",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Gpu Slug",
              "description": "GPU slug"
            },
            "name": "gpu_slug",
            "in": "query"
          },
          {
            "description": "GPU full name. if GPU slug is filled in, full name will be overridden; if GPU slug is not provided, full name shall be required.",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Gpu Name",
              "description": "GPU full name. if GPU slug is filled in, full name will be overridden; if GPU slug is not provided, full name shall be required."
            },
            "name": "gpu_name",
            "in": "query"
          },
          {
            "description": "GPU used in hours, should be greater then 0",
            "required": true,
            "schema": {
              "type": "number",
              "exclusiveMinimum": 0,
              "title": "Hours Used",
              "description": "GPU used in hours, should be greater then 0"
            },
            "name": "hours_used",
            "in": "query"
          },
          {
            "description": "Name of the provider",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Provider",
              "description": "Name of the provider"
            },
            "name": "provider",
            "in": "query"
          },
          {
            "description": "Unique code of the provider",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Provider Code",
              "description": "Unique code of the provider"
            },
            "name": "provider_code",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/carbon/batch/gpu-carbon-intensity": {
      "post": {
        "tags": [
          "/api/data-hub/carbon"
        ],
        "summary": "Batch query carbon intensity of GPUs",
        "operationId": "batch_query_GPU_carbon_intensity_api_data_hub_carbon_batch_gpu_carbon_intensity_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BatchQueryGPUCarbonIntensityRequest"
                  }
                ],
                "title": "List of GPU querying arguments",
                "description": "List of GPU querying arguments."
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/carbon/country": {
      "get": {
        "tags": [
          "/api/data-hub/carbon"
        ],
        "summary": "Query Country's detail information",
        "operationId": "country_api_data_hub_carbon_country_get",
        "parameters": [
          {
            "description": "Country name, support fuzzy search. If no name filled in, then return all countries.",
            "required": false,
            "schema": {
              "type": "string",
              "title": "Country Name",
              "description": "Country name, support fuzzy search. If no name filled in, then return all countries."
            },
            "name": "country_name",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/carbon/default-zipcode": {
      "get": {
        "tags": [
          "/api/data-hub/carbon"
        ],
        "summary": "Query the default zipcode of the country by country code",
        "operationId": "get_default_zipcode_by_country_api_data_hub_carbon_default_zipcode_get",
        "parameters": [
          {
            "description": "Country code, represented in ISO 3166-1 alpha-2 format, e.g., 'US' for United States",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Country Code",
              "description": "Country code, represented in ISO 3166-1 alpha-2 format, e.g., 'US' for United States"
            },
            "name": "country_code",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/carbon/providers/": {
      "get": {
        "tags": [
          "/api/data-hub/carbon"
        ],
        "summary": "Get all providers",
        "operationId": "get_all_providers_api_data_hub_carbon_providers__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/carbon/providers/{provider_name}/codes": {
      "get": {
        "tags": [
          "/api/data-hub/carbon"
        ],
        "summary": "Get the provider code by provider name",
        "operationId": "get_provider_codes_api_data_hub_carbon_providers__provider_name__codes_get",
        "parameters": [
          {
            "required": true,
            "schema": {
              "type": "string",
              "title": "Provider Name"
            },
            "name": "provider_name",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/carbonproviders_selection/{provider_name}/codes": {
      "get": {
        "tags": [
          "/api/data-hub/carbon"
        ],
        "summary": "Get the provider code by provider name",
        "operationId": "get_codes_by_provider_route_api_data_hub_carbonproviders_selection__provider_name__codes_get",
        "parameters": [
          {
            "required": true,
            "schema": {
              "type": "string",
              "title": "Provider Name"
            },
            "name": "provider_name",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/data-hub/carbon/providers_with_codes/": {
      "get": {
        "tags": [
          "/api/data-hub/carbon"
        ],
        "summary": "Get all providers with codes",
        "operationId": "get_all_providers_with_codes_api_data_hub_carbon_providers_with_codes__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/form/contact-us": {
      "post": {
        "tags": [
          "/api/form/contact"
        ],
        "summary": "Submit the contact us form data",
        "operationId": "contact_us_api_form_contact_us_post",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/api/form/contact-us/list": {
      "get": {
        "tags": [
          "/api/form/contact"
        ],
        "summary": "List the contact us form data",
        "operationId": "contact_us_list_api_form_contact_us_list_get",
        "parameters": [
          {
            "description": "first name, Optional",
            "required": false,
            "schema": {
              "type": "string",
              "title": "User Name",
              "description": "first name, Optional"
            },
            "name": "user_name",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment/subscription/create": {
      "post": {
        "tags": [
          "/api/payment"
        ],
        "summary": "Create a subscription for a customer at Stripe side.",
        "description": "Create a subscription for a customer at Stripe side.",
        "operationId": "create_subscription_api_payment_subscription_create_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionRequestBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/payment/prices/list": {
      "get": {
        "tags": [
          "/api/payment"
        ],
        "summary": "Get the list of prices at Stripe side.",
        "description": "Get the list of prices at Stripe side.",
        "operationId": "get_prices_list_api_payment_prices_list_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "type": "object"
                  },
                  "type": "array",
                  "title": "Response Get Prices List Api Payment Prices List Get"
                }
              }
            }
          }
        }
      }
    },
    "/api/payment/webhook": {
      "post": {
        "tags": [
          "/api/payment"
        ],
        "summary": "Handle the webhook from Stripe side.",
        "description": "Handle the webhook from Stripe side, to update the payment status of the subscription",
        "operationId": "handle_webhook_api_payment_webhook_post",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    },
    "/api/category/create": {
      "post": {
        "tags": [
          "/api/category"
        ],
        "summary": "create category information by category key and value",
        "operationId": "create_api_category_create_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCategoryBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/category/update": {
      "post": {
        "tags": [
          "/api/category"
        ],
        "summary": "update category information",
        "operationId": "update_api_category_update_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCategoryBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/category/info": {
      "get": {
        "tags": [
          "/api/category"
        ],
        "summary": "get category information by key and value",
        "operationId": "info_api_category_info_get",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BasicCategoryBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/category/list": {
      "post": {
        "tags": [
          "/api/category"
        ],
        "summary": "get category value list by key",
        "operationId": "list_api_category_list_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CategoryKeyBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/category/delete": {
      "delete": {
        "tags": [
          "/api/category"
        ],
        "summary": "delete category by key and value",
        "operationId": "delete_api_category_delete_delete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BasicCategoryBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/product/create": {
      "post": {
        "tags": [
          "/api/product"
        ],
        "summary": "create products",
        "operationId": "create_api_product_create_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__product__CreateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/product/update": {
      "post": {
        "tags": [
          "/api/product"
        ],
        "summary": "update products",
        "operationId": "update_api_product_update_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__product__UpdateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/product/info": {
      "get": {
        "tags": [
          "/api/product"
        ],
        "summary": "get a products detail information",
        "operationId": "info_api_product_info_get",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__product__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/product/list": {
      "post": {
        "tags": [
          "/api/product"
        ],
        "summary": "search products list by condition",
        "operationId": "list_api_product_list_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/app__api__silicon__product__QueryBody"
                  }
                ],
                "title": "the parameter for data query",
                "description": "Optional parameters",
                "default": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/product/delete": {
      "delete": {
        "tags": [
          "/api/product"
        ],
        "summary": "delete a products record by id or name",
        "operationId": "delete_api_product_delete_delete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__product__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/package/create": {
      "post": {
        "tags": [
          "/api/package"
        ],
        "summary": "create packages",
        "operationId": "create_api_package_create_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__package__BasicBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/package/update": {
      "post": {
        "tags": [
          "/api/package"
        ],
        "summary": "update packages",
        "operationId": "update_api_package_update_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__package__UpdateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/package/info": {
      "get": {
        "tags": [
          "/api/package"
        ],
        "summary": "get a packages detail information",
        "operationId": "info_api_package_info_get",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__package__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/package/list": {
      "post": {
        "tags": [
          "/api/package"
        ],
        "summary": "search packages list by condition",
        "operationId": "list_api_package_list_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/app__api__silicon__package__QueryBody"
                  }
                ],
                "title": "the parameter for data query",
                "description": "Optional parameters",
                "default": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/package/delete": {
      "delete": {
        "tags": [
          "/api/package"
        ],
        "summary": "delete a packages record by id or name",
        "operationId": "delete_api_package_delete_delete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__package__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/log/info/{log_id}": {
      "get": {
        "tags": [
          "/api/log"
        ],
        "summary": "get a request_logs detail information",
        "operationId": "info_api_log_info__log_id__get",
        "parameters": [
          {
            "required": true,
            "schema": {
              "type": "integer",
              "title": "Log Id"
            },
            "name": "log_id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/log/info": {
      "get": {
        "tags": [
          "/api/log"
        ],
        "summary": "get a request_logs detail information",
        "operationId": "info_api_log_info_get",
        "parameters": [
          {
            "required": false,
            "schema": {
              "type": "integer",
              "title": "Log Id",
              "default": 0
            },
            "name": "log_id",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/log/list": {
      "post": {
        "tags": [
          "/api/log"
        ],
        "summary": "search request_logs list by condition",
        "operationId": "list_api_log_list_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/QueryBase"
                  }
                ],
                "title": "the parameter for data query",
                "description": "Optional parameters",
                "default": {
                  "keyword": "",
                  "num_per_page": 50,
                  "page_num": 1
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/log/delete": {
      "delete": {
        "tags": [
          "/api/log"
        ],
        "summary": "delete a request_logs record by id or name",
        "operationId": "delete_api_log_delete_delete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__log__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/system/config/info": {
      "get": {
        "tags": [
          "/api/system/config"
        ],
        "summary": "get a system_settings detail information",
        "operationId": "get_config_api_system_config_info_get",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__system__BasicBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/system/config/update": {
      "post": {
        "tags": [
          "/api/system/config"
        ],
        "summary": "update system_settings",
        "operationId": "set_config_api_system_config_update_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__system__UpdateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/system/config/list": {
      "post": {
        "tags": [
          "/api/system/config"
        ],
        "summary": "search system_settings list by condition",
        "operationId": "get_config_list_api_system_config_list_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__system__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/order/create": {
      "post": {
        "tags": [
          "/api/order"
        ],
        "summary": "create orders",
        "operationId": "create_api_order_create_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__order__CreateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/order/update": {
      "post": {
        "tags": [
          "/api/order"
        ],
        "summary": "update orders",
        "operationId": "update_api_order_update_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__order__UpdateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/order/info": {
      "get": {
        "tags": [
          "/api/order"
        ],
        "summary": "get a orders detail information",
        "operationId": "info_api_order_info_get",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__order__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/order/list": {
      "post": {
        "tags": [
          "/api/order"
        ],
        "summary": "search orders list by condition",
        "operationId": "list_api_order_list_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/app__api__silicon__order__QueryBody"
                  }
                ],
                "title": "the parameter for data query",
                "description": "Optional parameters",
                "default": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/order/delete": {
      "delete": {
        "tags": [
          "/api/order"
        ],
        "summary": "delete a orders record by id or name",
        "operationId": "delete_api_order_delete_delete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__order__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/payment/create": {
      "post": {
        "tags": [
          "/api/payment"
        ],
        "summary": "create payments",
        "operationId": "create_api_payment_create_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__payment__CreateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/payment/update": {
      "post": {
        "tags": [
          "/api/payment"
        ],
        "summary": "update payments",
        "operationId": "update_api_payment_update_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__payment__UpdateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/payment/info": {
      "get": {
        "tags": [
          "/api/payment"
        ],
        "summary": "get a payments detail information",
        "operationId": "info_api_payment_info_get",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__payment__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/payment/list": {
      "post": {
        "tags": [
          "/api/payment"
        ],
        "summary": "search payments list by condition",
        "operationId": "list_api_payment_list_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/app__api__silicon__payment__QueryBody"
                  }
                ],
                "title": "the parameter for data query",
                "description": "Optional parameters",
                "default": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/payment/delete": {
      "delete": {
        "tags": [
          "/api/payment"
        ],
        "summary": "delete a payments record by id or name",
        "operationId": "delete_api_payment_delete_delete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__payment__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/usage/update": {
      "post": {
        "tags": [
          "/api/usage"
        ],
        "summary": "update usages",
        "operationId": "update_api_usage_update_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__usage__UpdateBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/usage/info": {
      "get": {
        "tags": [
          "/api/usage"
        ],
        "summary": "get a usages detail information",
        "operationId": "info_api_usage_info_get",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__usage__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/usage/list": {
      "post": {
        "tags": [
          "/api/usage"
        ],
        "summary": "search usages list by condition",
        "operationId": "list_api_usage_list_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/app__api__silicon__usage__QueryBody"
                  }
                ],
                "title": "the parameter for data query",
                "description": "Optional parameters",
                "default": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/api/usage/delete": {
      "delete": {
        "tags": [
          "/api/usage"
        ],
        "summary": "delete a usages record by id or name",
        "operationId": "delete_api_usage_delete_delete",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/app__api__silicon__usage__InfoBody"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2PasswordBearer": []
          }
        ]
      }
    },
    "/": {
      "get": {
        "summary": "Root",
        "operationId": "root__get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AdminUserBody": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email",
            "description": "email"
          },
          "first_name": {
            "type": "string",
            "maxLength": 30,
            "minLength": 3,
            "title": "First Name",
            "description": "The First Name value should be a length between 3 and 50"
          },
          "last_name": {
            "type": "string",
            "maxLength": 30,
            "minLength": 3,
            "title": "Last Name",
            "description": "The Last Name value should be a length between 3 and 50"
          },
          "password": {
            "type": "string",
            "minLength": 3,
            "title": "Password",
            "description": "password"
          },
          "company_name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 3,
            "title": "Company Name",
            "description": "company name"
          },
          "company_description": {
            "type": "string",
            "maxLength": 1024,
            "title": "Company Description",
            "description": "description of your company"
          }
        },
        "type": "object",
        "required": [
          "email",
          "password",
          "company_name"
        ],
        "title": "AdminUserBody"
      },
      "BasicCategoryBody": {
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Key",
            "description": "The unique category key"
          },
          "value": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Value",
            "description": "The unique value for currently category key"
          }
        },
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "title": "BasicCategoryBody"
      },
      "BatchQueryGPUCarbonIntensityRequest": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/BatchQueryGPUCarbonIntensityRequestData"
            },
            "type": "array",
            "title": "Data",
            "description": "List of the GPU carbon intensity querying arguments",
            "default": []
          }
        },
        "type": "object",
        "title": "BatchQueryGPUCarbonIntensityRequest"
      },
      "BatchQueryGPUCarbonIntensityRequestData": {
        "properties": {
          "gpu_slug": {
            "type": "string",
            "title": "Gpu Slug",
            "description": "GPU Slug, if gpu_name is None, this field should be fulled in."
          },
          "gpu_name": {
            "type": "string",
            "title": "Gpu Name",
            "description": "GPU Name, if gpu_slug is filled in, this field will be overridden; If gpu_slug is None, this field is required."
          },
          "hours_used": {
            "type": "number",
            "exclusiveMinimum": 0,
            "title": "Hours Used",
            "description": "GPU used in hours, should be greater then 0"
          },
          "zipcode": {
            "type": "string",
            "title": "Zipcode",
            "description": "Zipcode of data center."
          },
          "country_code": {
            "type": "string",
            "title": "Country Code",
            "description": "Country code of data center, represented in ISO 3166-1 alpha 2, e.g., 'US' standing for United States."
          }
        },
        "type": "object",
        "required": [
          "hours_used",
          "zipcode",
          "country_code"
        ],
        "title": "BatchQueryGPUCarbonIntensityRequestData"
      },
      "CategoryKeyBody": {
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Key",
            "description": "The unique category key"
          }
        },
        "type": "object",
        "required": [
          "key"
        ],
        "title": "CategoryKeyBody"
      },
      "ConfirmBody": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email",
            "description": "email"
          },
          "confirmation_code": {
            "type": "string",
            "title": "Confirmation Code"
          }
        },
        "type": "object",
        "required": [
          "email",
          "confirmation_code"
        ],
        "title": "ConfirmBody"
      },
      "CreateCategoryBody": {
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Key",
            "description": "The unique category key"
          },
          "value": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Value",
            "description": "The unique value for currently category key"
          },
          "sequence": {
            "type": "integer",
            "title": "Sequence",
            "description": "default value is 0",
            "default": 1
          }
        },
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "title": "CreateCategoryBody"
      },
      "EmailBody": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email",
            "description": "email"
          }
        },
        "type": "object",
        "required": [
          "email"
        ],
        "title": "EmailBody"
      },
      "GPUCarbonIntensityRequestBody": {
        "properties": {
          "gpu_slug": {
            "type": "string",
            "title": "Gpu Slug",
            "description": "GPU Slug"
          },
          "gpu_name": {
            "type": "string",
            "title": "Gpu Name",
            "description": "GPU full name. if GPU slug is filled in, full name will be overridden; if GPU slug is not provided, full name shall be required."
          },
          "hours_used": {
            "type": "number",
            "exclusiveMinimum": 0,
            "title": "Hours Used",
            "description": "GPU used in hours, should be greater then 0"
          },
          "zipcode": {
            "type": "string",
            "title": "Zipcode",
            "description": "Zip code of data center"
          },
          "country_code": {
            "type": "string",
            "title": "Country Code",
            "description": "County code of data center, represented in ISO 3166-1 alpha 2, e.g., 'US' representing United States"
          }
        },
        "type": "object",
        "required": [
          "hours_used",
          "zipcode",
          "country_code"
        ],
        "title": "GPUCarbonIntensityRequestBody"
      },
      "GenerateTokenBody": {
        "properties": {
          "client_id": {
            "type": "string",
            "title": "Client Id",
            "description": "application client id"
          },
          "client_secret": {
            "type": "string",
            "title": "Client Secret",
            "description": "application client secret"
          }
        },
        "type": "object",
        "required": [
          "client_id",
          "client_secret"
        ],
        "title": "GenerateTokenBody"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "InitiatePasswordBody": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email",
            "description": "email"
          },
          "temporary_password": {
            "type": "string",
            "minLength": 3,
            "title": "Temporary Password",
            "description": "temporary password"
          },
          "new_password": {
            "type": "string",
            "minLength": 3,
            "title": "New Password",
            "description": "new password"
          }
        },
        "type": "object",
        "required": [
          "email",
          "temporary_password",
          "new_password"
        ],
        "title": "InitiatePasswordBody"
      },
      "LoginBody": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email",
            "description": "email"
          },
          "password": {
            "type": "string",
            "title": "Password"
          }
        },
        "type": "object",
        "required": [
          "email",
          "password"
        ],
        "title": "LoginBody"
      },
      "PriceHistoryBase": {
        "properties": {
          "gpu_name": {
            "type": "string",
            "minLength": 3,
            "title": "Gpu Name",
            "description": "gpu name"
          },
          "start_date": {
            "type": "string",
            "title": "Start Date",
            "description": "price from start date，YYYY-MM-DD",
            "example": "2024-10-01"
          },
          "end_date": {
            "type": "string",
            "title": "End Date",
            "description": "price to end date, YYYY-MM-DD",
            "example": "2024-10-31"
          }
        },
        "type": "object",
        "required": [
          "gpu_name",
          "start_date",
          "end_date"
        ],
        "title": "PriceHistoryBase"
      },
      "QueryBase": {
        "properties": {
          "keyword": {
            "type": "string",
            "title": "Keyword",
            "description": "keyword for query conditions which use for search.",
            "default": ""
          },
          "num_per_page": {
            "type": "integer",
            "maximum": 100,
            "minimum": 1,
            "title": "Num Per Page",
            "description": "how many records will be return per one page, value score in 1 to 100，default value is 50",
            "default": 50
          },
          "page_num": {
            "type": "integer",
            "minimum": 1,
            "title": "Page Num",
            "description": "the page index number, default value is 1",
            "default": 1
          }
        },
        "type": "object",
        "title": "QueryBase"
      },
      "ResetPasswordBody": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email",
            "description": "email"
          },
          "confirmation_code": {
            "type": "string",
            "title": "Confirmation Code"
          },
          "new_password": {
            "type": "string",
            "title": "New Password"
          }
        },
        "type": "object",
        "required": [
          "email",
          "confirmation_code",
          "new_password"
        ],
        "title": "ResetPasswordBody"
      },
      "StaffUserBody": {
        "properties": {
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email",
            "description": "email"
          },
          "first_name": {
            "type": "string",
            "maxLength": 30,
            "minLength": 3,
            "title": "First Name",
            "description": "The First Name value should be a length between 3 and 50"
          },
          "last_name": {
            "type": "string",
            "maxLength": 30,
            "minLength": 3,
            "title": "Last Name",
            "description": "The Last Name value should be a length between 3 and 50"
          }
        },
        "type": "object",
        "required": [
          "email"
        ],
        "title": "StaffUserBody"
      },
      "SubscriptionRequestBody": {
        "properties": {
          "price_id": {
            "type": "string",
            "title": "Price Id",
            "description": "The price id of the subscription"
          },
          "success_url": {
            "type": "string",
            "title": "Success Url",
            "description": "The success url of frontend after the payment"
          },
          "cancel_url": {
            "type": "string",
            "title": "Cancel Url",
            "description": "The cancel url of frontend after the payment"
          }
        },
        "type": "object",
        "required": [
          "price_id",
          "success_url",
          "cancel_url"
        ],
        "title": "SubscriptionRequestBody"
      },
      "UpdateCategoryBody": {
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Key",
            "description": "The unique category key"
          },
          "value": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Value",
            "description": "The unique value for currently category key"
          },
          "sequence": {
            "type": "integer",
            "title": "Sequence",
            "description": "default value is 0",
            "default": 1
          },
          "new_value": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "New Value",
            "description": "The unique new value for currently category key"
          }
        },
        "type": "object",
        "required": [
          "key",
          "value",
          "new_value"
        ],
        "title": "UpdateCategoryBody"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "app__api__silicon__application__CreateBody": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          },
          "description": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Description",
            "description": "description"
          }
        },
        "type": "object",
        "required": [
          "name"
        ],
        "title": "CreateBody"
      },
      "app__api__silicon__application__InfoBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          }
        },
        "type": "object",
        "title": "InfoBody"
      },
      "app__api__silicon__application__QueryBody": {
        "properties": {},
        "type": "object",
        "title": "QueryBody"
      },
      "app__api__silicon__application__UpdateBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          },
          "description": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Description",
            "description": "description"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "UpdateBody"
      },
      "app__api__silicon__customer__CreateBody": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          },
          "description": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Description",
            "description": "description"
          }
        },
        "type": "object",
        "required": [
          "name"
        ],
        "title": "CreateBody"
      },
      "app__api__silicon__customer__InfoBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          }
        },
        "type": "object",
        "title": "InfoBody"
      },
      "app__api__silicon__customer__QueryBody": {
        "properties": {},
        "type": "object",
        "title": "QueryBody"
      },
      "app__api__silicon__customer__UpdateBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          },
          "description": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Description",
            "description": "description"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "UpdateBody"
      },
      "app__api__silicon__log__InfoBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          }
        },
        "type": "object",
        "title": "InfoBody"
      },
      "app__api__silicon__order__CreateBody": {
        "properties": {
          "package_id": {
            "type": "integer",
            "title": "Package Id",
            "description": "The package id as integer you want to order"
          },
          "stripe_raw_data": {
            "type": "object",
            "title": "Stripe Raw Data",
            "description": "Stripe raw data"
          }
        },
        "type": "object",
        "required": [
          "package_id"
        ],
        "title": "CreateBody"
      },
      "app__api__silicon__order__InfoBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          },
          "subscription_id": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Subscription Id",
            "description": "Stripe subscription id"
          }
        },
        "type": "object",
        "title": "InfoBody"
      },
      "app__api__silicon__order__QueryBody": {
        "properties": {},
        "type": "object",
        "title": "QueryBody"
      },
      "app__api__silicon__order__UpdateBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          },
          "stripe_subscription_id": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Stripe Subscription Id",
            "description": "Stripe subscription id"
          },
          "description": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Description",
            "description": "description"
          },
          "stripe_raw_data": {
            "type": "object",
            "title": "Stripe Raw Data",
            "description": "Stripe raw data"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "UpdateBody"
      },
      "app__api__silicon__package__BasicBody": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          },
          "product_list": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "title": "Product List",
            "description": "A list of product IDs using ',' to split them"
          }
        },
        "type": "object",
        "required": [
          "name",
          "product_list"
        ],
        "title": "BasicBody"
      },
      "app__api__silicon__package__InfoBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          }
        },
        "type": "object",
        "title": "InfoBody"
      },
      "app__api__silicon__package__QueryBody": {
        "properties": {},
        "type": "object",
        "title": "QueryBody"
      },
      "app__api__silicon__package__UpdateBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          },
          "product_list": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "title": "Product List",
            "description": "A list of product IDs using ',' to split them"
          },
          "charge": {
            "type": "number",
            "title": "Charge",
            "description": "The price with 7 digits before the decimal and 2 digits after the decimal"
          },
          "description": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Description",
            "description": "description"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "UpdateBody"
      },
      "app__api__silicon__payment__CreateBody": {
        "properties": {
          "order_name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Order Name",
            "description": "order name in Silicon"
          },
          "stripe_payment_id": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Stripe Payment Id",
            "description": "Stripe payment id"
          },
          "stripe_raw_data": {
            "type": "object",
            "title": "Stripe Raw Data",
            "description": "Stripe raw data"
          }
        },
        "type": "object",
        "required": [
          "order_name",
          "stripe_payment_id"
        ],
        "title": "CreateBody"
      },
      "app__api__silicon__payment__InfoBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "stripe_payment_id": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Stripe Payment Id",
            "description": "Stripe payment id"
          }
        },
        "type": "object",
        "title": "InfoBody"
      },
      "app__api__silicon__payment__QueryBody": {
        "properties": {},
        "type": "object",
        "title": "QueryBody"
      },
      "app__api__silicon__payment__UpdateBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "description": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Description",
            "description": "description"
          },
          "stripe_raw_data": {
            "type": "object",
            "title": "Stripe Raw Data",
            "description": "Stripe raw data"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "UpdateBody"
      },
      "app__api__silicon__product__CreateBody": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          },
          "description": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Description",
            "description": "description"
          }
        },
        "type": "object",
        "required": [
          "name"
        ],
        "title": "CreateBody"
      },
      "app__api__silicon__product__InfoBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          }
        },
        "type": "object",
        "title": "InfoBody"
      },
      "app__api__silicon__product__QueryBody": {
        "properties": {},
        "type": "object",
        "title": "QueryBody"
      },
      "app__api__silicon__product__UpdateBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "name": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Name",
            "description": "name"
          },
          "description": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Description",
            "description": "description"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "UpdateBody"
      },
      "app__api__silicon__system__BasicBody": {
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Key"
          }
        },
        "type": "object",
        "required": [
          "key"
        ],
        "title": "BasicBody"
      },
      "app__api__silicon__system__InfoBody": {
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Key"
          }
        },
        "type": "object",
        "title": "InfoBody"
      },
      "app__api__silicon__system__UpdateBody": {
        "properties": {
          "key": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Key"
          },
          "value": {
            "title": "Value",
            "description": "The value can be any type but cannot be null or missing"
          }
        },
        "type": "object",
        "required": [
          "key",
          "value"
        ],
        "title": "UpdateBody"
      },
      "app__api__silicon__usage__InfoBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "stripe_payment_id": {
            "type": "string",
            "maxLength": 60,
            "minLength": 1,
            "title": "Stripe Payment Id",
            "description": "Stripe payment id"
          }
        },
        "type": "object",
        "title": "InfoBody"
      },
      "app__api__silicon__usage__QueryBody": {
        "properties": {},
        "type": "object",
        "title": "QueryBody"
      },
      "app__api__silicon__usage__UpdateBody": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id",
            "description": "id as integer"
          },
          "description": {
            "type": "string",
            "maxLength": 512,
            "minLength": 1,
            "title": "Description",
            "description": "description"
          },
          "stripe_raw_data": {
            "type": "object",
            "title": "Stripe Raw Data",
            "description": "Stripe raw data"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "UpdateBody"
      },
      "app__api__silicon__user__QueryBody": {
        "properties": {
          "filter_expression": {
            "type": "string",
            "title": "Filter Expression",
            "description": "filter_expression"
          }
        },
        "type": "object",
        "title": "QueryBody"
      }
    },
    "securitySchemes": {
      "OAuth2PasswordBearer": {
        "type": "oauth2",
        "flows": {
          "password": {
            "scopes": {},
            "tokenUrl": "token"
          }
        }
      }
    }
  }
}