{
    "swagger": "2.0",
    "info": {
        "description": "This is a management portal server",
        "title": "Management Portal API",
        "contact": {},
        "version": "1.0"
    },
    "host": "127.0.0.1:8080",
    "basePath": "/api/v1/admin",
    "paths": {
        "/access-logs": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "AccessLog"
                ],
                "summary": "Search Management Portal access logs",
                "parameters": [
                    {
                        "type": "string",
                        "name": "content",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "org_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "start_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "user",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.ListAccessLogResp"
                        }
                    }
                }
            }
        },
        "/api_key": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ApiKey"
                ],
                "summary": "Add API Key",
                "parameters": [
                    {
                        "description": "Add API key",
                        "name": "user",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.CreateAPIKey"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.CreateAPIKeyResp"
                        }
                    }
                }
            }
        },
        "/clusters/:cluster_id/db-users": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DbUsers"
                ],
                "summary": "ListDbUsers",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster_id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "account_locked",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "cluster_id",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "ignore_users",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "list_dbuser_type",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "password_expired",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "plugin",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "users",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.ListDbUsersRsp"
                        }
                    }
                }
            }
        },
        "/clusters/:cluster_id/jwt": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DbUsers"
                ],
                "summary": "GetDbUserJwt",
                "parameters": [
                    {
                        "type": "string",
                        "description": "cluster_id",
                        "name": "cluster_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "target_type",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "target_value",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.GetDbUserJwtResp"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DbUsers"
                ],
                "summary": "TestDbUserJwt",
                "parameters": [
                    {
                        "description": "TestDbUser",
                        "name": "DbUsers",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.TestDbUserJwtReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/clusters/:cluster_id/test-db-user": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "DbUsers"
                ],
                "summary": "TestDbUser",
                "parameters": [
                    {
                        "description": "TestDbUser",
                        "name": "DbUsers",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.TestDbUserReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/dashboard/stats": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "System"
                ],
                "summary": "GetDashboardStats",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.GetDashboardStatsResq"
                        }
                    }
                }
            }
        },
        "/orgs": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "List Tenant",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "alias",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "brief",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "email",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "id",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "kind",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "no-limit",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "options: asc or desc",
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "OrgTag *string  `form:\"org_tag\" json:\"org_tags\" binding:\"dive,oneof=msp msp_customer\"`",
                        "name": "org_tag",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "plan",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "timezone",
                            "created_at"
                        ],
                        "type": "string",
                        "description": "options: timezone, created_at",
                        "name": "sort_by",
                        "in": "query"
                    },
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "csv",
                        "name": "status",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.ListTenantResp"
                        }
                    }
                }
            }
        },
        "/orgs/user-org": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "GetUserOrgs",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "user_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.GetUserOrgsResp"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "Get Tenant By ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.Tenant"
                        }
                    }
                }
            },
            "delete": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "Delete Tenant By ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "UpdateTenant",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "patch tenant",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.PatchTenantReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}/access-logs": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "AccessLog"
                ],
                "summary": "Serach Tenant access logs",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "content",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "end_time",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "org_id",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "start_time",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "user",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "per_page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.ListAccessLogResp"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}/data-resource": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "GetTenantResource",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.ResourceResult"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}/impersonation": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Impersonation"
                ],
                "summary": "AddImpersonation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            },
            "delete": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Impersonation"
                ],
                "summary": "Delete Impersonation",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}/projects": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Project"
                ],
                "summary": "GetOrgProjects",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "one of [asc,desc]",
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "one of [email,invite_time,role,status]",
                        "name": "sort_by",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.GetOrgProjectsResp"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}/projects/:project_id/data-resource": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "GetProjectResource",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.ResourceResult"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}/projects/{project_id}": {
            "delete": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "TenantProject"
                ],
                "summary": "Delete Tenant Project",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "project_id",
                        "name": "project_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}/projects/{project_id}/users": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "GetProjectUsers",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "project_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "one of [asc,desc]",
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "email like",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "one of [email,invite_time,role,status]",
                        "name": "sort_by",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.ListUsersResp"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}/projects/{project_id}/users/{user_id}": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Project"
                ],
                "summary": "AddUserToProject",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "user_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "project_role",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.ProjectRoleReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            },
            "delete": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Project"
                ],
                "summary": "RemoveUserFromeProject",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "user_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "project_role",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.ProjectRoleReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}/salesforce": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Salesforce"
                ],
                "summary": "Sync Salesforce Leads",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}/user/{id}": {
            "delete": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "RemoveUserFromOrg",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "user_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}/users": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "GetOrgUsers",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "one of [asc,desc]",
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "email like",
                        "name": "search",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "one of [email,invite_time,role,status]",
                        "name": "sort_by",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.ListUsersResp"
                        }
                    }
                }
            }
        },
        "/orgs/{org_id}/users/{user_id}": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Tenant"
                ],
                "summary": "AddUserToOrg",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "user_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "org_role",
                        "name": "req",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.OrgRoleReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/partner/cppo/create": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "CreateCppoOrg",
                "parameters": [
                    {
                        "description": "CreateCppoOrg",
                        "name": "cppoOrg",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.CppoOrgReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.CppoOrgResp"
                        }
                    }
                }
            }
        },
        "/partner/mcpo/create": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "CreateMCPOResellerOrg",
                "parameters": [
                    {
                        "description": "CreateMCPOResellerOrg",
                        "name": "MCPOOrg",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.MCPOResellerOrgReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.MCPOResellerOrgResp"
                        }
                    }
                }
            }
        },
        "/partner/msp/create": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "CreateMspOrg",
                "parameters": [
                    {
                        "description": "CreateMspOrg",
                        "name": "msp",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.MspOrg"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.CreateMspOrgResp"
                        }
                    }
                }
            }
        },
        "/partner/msp/update": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "UpdateMspOrg",
                "parameters": [
                    {
                        "description": "UpdateMspOrg",
                        "name": "msp",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.MspOrg"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/partner/msp/upload-logo": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "UploadMspLogo",
                "parameters": [
                    {
                        "description": "UploadMspLogo",
                        "name": "msp",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.UploadMspLogo"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.UploadMspLogoResp"
                        }
                    }
                }
            }
        },
        "/partner/msp/{org_id}": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "GetMspByOrgId",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.MspOrg"
                        }
                    }
                }
            }
        },
        "/partner/msp/{org_id}/create-apikey": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "CreateMspApiKey",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/partner/msp/{org_id}/customers": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "GetCustomersByMspId",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/forms.PartnerCustomer"
                            }
                        }
                    }
                }
            }
        },
        "/partner/msp/{org_id}/signup-url": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "GetSignupUrl",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "signup_url",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/partner/partner-customer/cancel": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "CancelCustomer",
                "parameters": [
                    {
                        "description": "PartnerCustomer",
                        "name": "msp",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.PartnerCustomer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/partner/partner-customer/create": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "CreateCustomer",
                "parameters": [
                    {
                        "description": "CreateCustomer",
                        "name": "msp",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.PartnerCustomer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/partner/partner-customer/delete": {
            "delete": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "DeleteCustomer",
                "parameters": [
                    {
                        "description": "DeleteCustomer",
                        "name": "msp",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.PartnerCustomer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/partner/partner-customer/{org_id}": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "GetCustomerByOrgId",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.PartnerCustomer"
                        }
                    }
                }
            }
        },
        "/partner/resale/create": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "CreateResalePartnerOrg",
                "parameters": [
                    {
                        "description": "resale org",
                        "name": "resaleOrg",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.ResellerOrgReq"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.ResellerOrgResp"
                        }
                    }
                }
            }
        },
        "/partner/resale/{org_id}/signup-url": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "GetResaleCustomerSignupUrl",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "signup_url",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/partner/{org_id}/customers": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "msp"
                ],
                "summary": "GetCustomersByPartnerId",
                "parameters": [
                    {
                        "type": "string",
                        "description": "org_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/forms.PartnerCustomer"
                            }
                        }
                    }
                }
            }
        },
        "/rbac/privilege/create": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "CreateRbacPrivilege",
                "parameters": [
                    {
                        "description": "CreateRbacPrivilege",
                        "name": "role",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.RbacPrivilege"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/rbac/privilege/delete/{id}": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "DeleteRbacPrivilege",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "id",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/rbac/privilege/list": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "ListRbacPrivileges",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.ListRbacPrivilegeResp"
                        }
                    }
                }
            }
        },
        "/rbac/privilege/system-list": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "ListPrivilegeSystems",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.ListPrivilegeSystemsResp"
                        }
                    }
                }
            }
        },
        "/rbac/privilege/update": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "UpdateRbacPrivilege",
                "parameters": [
                    {
                        "description": "UpdateRbacPrivilege",
                        "name": "role",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.RbacPrivilege"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/rbac/role-privilege/add": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "AddRbacRolePrivilege",
                "parameters": [
                    {
                        "description": "AddRbacRolePrivilege",
                        "name": "role",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.GrantRolePrivilege"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/rbac/role-privilege/create": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "CreateRbacRolePrivilege",
                "parameters": [
                    {
                        "description": "CreateRbacRolePrivilege",
                        "name": "role",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.GrantRolePrivilege"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/rbac/role-privilege/delete": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "DeleteRbacRolePrivilege",
                "parameters": [
                    {
                        "description": "DeleteRbacRolePrivilege",
                        "name": "role",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.RbacRolePrivilege"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/rbac/role-privilege/list/{role_id}": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "ListRbacRoleRelatePrivileges",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "role_id",
                        "name": "role_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/forms.RbacRolePrivilege"
                            }
                        }
                    }
                }
            }
        },
        "/rbac/role/create": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "CreateRbacRole",
                "parameters": [
                    {
                        "description": "CreateRbacRole",
                        "name": "role",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.RbacRole"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/rbac/role/delete/{id}": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "DeleteRbacRole",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "id",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/rbac/role/list": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "ListRbacRoles",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/forms.RbacRoleResp"
                            }
                        }
                    }
                }
            }
        },
        "/rbac/role/update": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "UpdateRbacRole",
                "parameters": [
                    {
                        "description": "UpdateRbacRole",
                        "name": "role",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.RbacRole"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        },
        "/rbac/role/{id}": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ManagementPortalUser"
                ],
                "summary": "GetRbacRoleById",
                "parameters": [
                    {
                        "type": "integer",
                        "format": "int64",
                        "description": "id",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.RbacRole"
                        }
                    }
                }
            }
        },
        "/system-settings": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "System"
                ],
                "summary": "GetSystemSettings",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.SystemSettings"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "System"
                ],
                "summary": "UpdateSystemSettings",
                "parameters": [
                    {
                        "description": "update system settings",
                        "name": "settings",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/forms.SystemSettings"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.SystemSettings"
                        }
                    }
                }
            }
        },
        "/users": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "User"
                ],
                "summary": "ListUsers",
                "parameters": [
                    {
                        "type": "string",
                        "name": "email_eq",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "email_like",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "first_name",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "last_name",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "one of [asc,desc]",
                        "name": "order",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page_size",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "phone_number_like",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "one of [email,invite_time,role,status]",
                        "name": "sort_by",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "user_id",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.ListUsersResp"
                        }
                    }
                }
            }
        },
        "/users/{user_id}": {
            "delete": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ScopeUser"
                ],
                "summary": "DeleteUserFromAllOrg",
                "parameters": [
                    {
                        "type": "string",
                        "description": "user_id",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/forms.EmptyResponse"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "entity.TenantStatus": {
            "type": "string",
            "enum": [
                "pending",
                "active",
                "inactive",
                "deleted",
                "cleared"
            ],
            "x-enum-varnames": [
                "TenantStatusPending",
                "TenantStatusActive",
                "TenantStatusInactive",
                "TenantStatusDeleted",
                "TenantStatusCleared"
            ]
        },
        "forms.AccessLog": {
            "type": "object",
            "properties": {
                "content": {
                    "type": "string"
                },
                "happened_on": {
                    "type": "integer"
                },
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "user": {
                    "type": "string"
                }
            }
        },
        "forms.Advertising": {
            "type": "object",
            "properties": {
                "body": {
                    "type": "string"
                },
                "heading": {
                    "type": "string"
                },
                "index": {
                    "type": "string"
                }
            }
        },
        "forms.CppoOrgReq": {
            "type": "object",
            "properties": {
                "country": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "forms.CppoOrgResp": {
            "type": "object",
            "properties": {
                "org_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "forms.CreateAPIKey": {
            "type": "object",
            "properties": {
                "creator_user_id": {
                    "type": "string",
                    "example": "0"
                },
                "key_name": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "forms.CreateAPIKeyResp": {
            "type": "object",
            "properties": {
                "api_key": {
                    "type": "string"
                }
            }
        },
        "forms.CreateMspOrgResp": {
            "type": "object",
            "properties": {
                "org_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "forms.DbUserDisplay": {
            "type": "object",
            "properties": {
                "builtin_role": {
                    "type": "string"
                },
                "custom_roles": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "plugin": {
                    "type": "string"
                },
                "target_type": {
                    "type": "string"
                },
                "target_value": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "forms.DevTierStats": {
            "type": "object",
            "properties": {
                "aws_active_clusters_count": {
                    "type": "integer"
                },
                "gcp_active_clusters_count": {
                    "type": "integer"
                }
            }
        },
        "forms.EmptyResponse": {
            "type": "object"
        },
        "forms.EnableDevTier": {
            "type": "object",
            "properties": {
                "enable_on_aws": {
                    "type": "boolean"
                },
                "enable_on_gcp": {
                    "type": "boolean"
                }
            }
        },
        "forms.GetDashboardStatsResq": {
            "type": "object",
            "properties": {
                "dev_tier": {
                    "$ref": "#/definitions/forms.DevTierStats"
                }
            }
        },
        "forms.GetDbUserJwtResp": {
            "type": "object",
            "properties": {
                "db_user": {
                    "type": "string"
                },
                "jwt": {
                    "type": "string"
                }
            }
        },
        "forms.GetOrgProjectsResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/forms.Project"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "forms.GetUserOrgsResp": {
            "type": "object",
            "properties": {
                "orgs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/forms.Tenant"
                    }
                }
            }
        },
        "forms.GrantRolePrivilege": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "privilege_ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "role_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "forms.ListAccessLogResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/forms.AccessLog"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "forms.ListDbUsersRsp": {
            "type": "object",
            "properties": {
                "db_users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/forms.DbUserDisplay"
                    }
                },
                "in_cluster_db_users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/forms.DbUserDisplay"
                    }
                }
            }
        },
        "forms.ListPrivilegeSystemsResp": {
            "type": "object",
            "properties": {
                "systems": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "forms.ListRbacPrivilegeResp": {
            "type": "object",
            "properties": {
                "List": {
                    "description": "nolint",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/forms.RbacPrivilegeResp"
                    }
                },
                "Total": {
                    "description": "nolint",
                    "type": "integer"
                }
            }
        },
        "forms.ListTenantResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/forms.Tenant"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "forms.ListUsersResp": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/forms.User"
                    }
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "forms.MCPOResellerOrgReq": {
            "type": "object",
            "properties": {
                "country": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "forms.MCPOResellerOrgResp": {
            "type": "object",
            "properties": {
                "org_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "forms.MspOrg": {
            "type": "object",
            "properties": {
                "advertising_arr": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/forms.Advertising"
                    }
                },
                "country": {
                    "type": "string"
                },
                "created_by": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "logo_name": {
                    "type": "string"
                },
                "logo_url": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "org_id": {
                    "type": "string",
                    "example": "0"
                },
                "time_zone": {
                    "type": "string"
                },
                "updated_by": {
                    "type": "string"
                },
                "website": {
                    "type": "string"
                }
            }
        },
        "forms.OrgRoleReq": {
            "type": "object",
            "required": [
                "org_role"
            ],
            "properties": {
                "org_role": {
                    "type": "string"
                }
            }
        },
        "forms.PartnerCustomer": {
            "type": "object",
            "properties": {
                "customer_org_id": {
                    "type": "string",
                    "example": "0"
                },
                "effected_at": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "expired_at": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "partner_org_id": {
                    "type": "string",
                    "example": "0"
                },
                "partner_type": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "forms.PatchTenantReq": {
            "type": "object",
            "properties": {
                "account_manager": {
                    "description": "the email address of account manager, must end with @pingcap.com",
                    "type": "string"
                },
                "alias": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "is_update_third_party_account_code": {
                    "type": "boolean"
                },
                "is_update_third_party_account_provider": {
                    "type": "boolean"
                },
                "kind": {
                    "type": "string",
                    "enum": [
                        "internal",
                        "external"
                    ]
                },
                "org_tag": {
                    "type": "string",
                    "enum": [
                        "personal",
                        "enterprise"
                    ]
                },
                "org_type": {
                    "type": "string"
                },
                "status": {
                    "enum": [
                        "pending",
                        "active",
                        "inactive",
                        "deleted",
                        "cleared"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/entity.TenantStatus"
                        }
                    ]
                },
                "third_party_account_code": {
                    "type": "string"
                },
                "third_party_account_provider": {
                    "type": "string"
                },
                "third_party_free_trial": {
                    "type": "boolean"
                }
            }
        },
        "forms.Project": {
            "type": "object",
            "properties": {
                "active_clusters_count": {
                    "type": "integer"
                },
                "aws_cmek_enabled": {
                    "type": "boolean"
                },
                "created_at": {
                    "$ref": "#/definitions/timestamppb.Timestamp"
                },
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "name": {
                    "type": "string"
                },
                "org_id": {
                    "type": "string",
                    "example": "0"
                },
                "user_count": {
                    "type": "integer"
                }
            }
        },
        "forms.ProjectRoleReq": {
            "type": "object",
            "required": [
                "project_role"
            ],
            "properties": {
                "project_role": {
                    "type": "string"
                }
            }
        },
        "forms.RbacPrivilege": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "resource_uri": {
                    "type": "string"
                },
                "system": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            }
        },
        "forms.RbacPrivilegeResp": {
            "type": "object",
            "properties": {
                "Description": {
                    "type": "string"
                },
                "ID": {
                    "type": "string",
                    "example": "0"
                },
                "ResourceUri": {
                    "type": "string"
                },
                "System": {
                    "type": "string"
                },
                "Url": {
                    "type": "string"
                }
            }
        },
        "forms.RbacRole": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "display_name": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "name": {
                    "type": "string"
                },
                "scope_type": {
                    "type": "string"
                }
            }
        },
        "forms.RbacRolePrivilege": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "privilege_id": {
                    "type": "string",
                    "example": "0"
                },
                "role_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "forms.RbacRoleResp": {
            "type": "object",
            "properties": {
                "Description": {
                    "type": "string"
                },
                "DisplayName": {
                    "type": "string"
                },
                "ID": {
                    "type": "string",
                    "example": "0"
                },
                "Name": {
                    "type": "string"
                },
                "ScopeType": {
                    "type": "string"
                }
            }
        },
        "forms.ResellerOrgReq": {
            "type": "object",
            "properties": {
                "country": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "forms.ResellerOrgResp": {
            "type": "object",
            "properties": {
                "org_id": {
                    "type": "string",
                    "example": "0"
                }
            }
        },
        "forms.ResourceResult": {
            "type": "object",
            "properties": {
                "backup_num": {
                    "type": "integer"
                },
                "cluster_num": {
                    "type": "integer"
                },
                "is_have_resource": {
                    "type": "boolean"
                },
                "resources_msg": {
                    "type": "string"
                },
                "vpc_peering_num": {
                    "type": "integer"
                }
            }
        },
        "forms.SystemSettings": {
            "type": "object",
            "properties": {
                "enable_dev_tier": {
                    "$ref": "#/definitions/forms.EnableDevTier"
                }
            }
        },
        "forms.Tenant": {
            "type": "object",
            "properties": {
                "account_manager": {
                    "type": "string"
                },
                "alias": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                },
                "created_at": {
                    "type": "integer"
                },
                "discount": {
                    "type": "integer"
                },
                "discount_description": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "has_discount": {
                    "type": "boolean"
                },
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "kind": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "org_tag": {
                    "type": "string"
                },
                "org_type": {
                    "type": "string"
                },
                "plan": {
                    "type": "string"
                },
                "remaining_credit": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "third_party_account_code": {
                    "type": "string"
                },
                "third_party_account_provider": {
                    "type": "string"
                },
                "timezone": {
                    "type": "integer"
                },
                "total_credit": {
                    "type": "integer"
                }
            }
        },
        "forms.TestDbUserJwtReq": {
            "type": "object",
            "properties": {
                "db_user": {
                    "type": "string"
                },
                "jwt": {
                    "type": "string"
                }
            }
        },
        "forms.TestDbUserReq": {
            "type": "object",
            "properties": {
                "cluster_id": {
                    "type": "integer"
                },
                "target_type": {
                    "type": "string"
                },
                "target_value": {
                    "type": "string"
                },
                "test_db_user_type": {
                    "type": "string"
                }
            }
        },
        "forms.UploadMspLogo": {
            "type": "object",
            "required": [
                "file"
            ],
            "properties": {
                "file": {
                    "$ref": "#/definitions/multipart.FileHeader"
                }
            }
        },
        "forms.UploadMspLogoResp": {
            "type": "object",
            "properties": {
                "logo_name": {
                    "type": "string"
                },
                "logo_url": {
                    "type": "string"
                }
            }
        },
        "forms.User": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "first_name": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "example": "0"
                },
                "last_name": {
                    "type": "string"
                },
                "login_time": {
                    "$ref": "#/definitions/timestamppb.Timestamp"
                },
                "phone_number": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "multipart.FileHeader": {
            "type": "object",
            "properties": {
                "filename": {
                    "type": "string"
                },
                "header": {
                    "$ref": "#/definitions/textproto.MIMEHeader"
                },
                "size": {
                    "type": "integer",
                    "format": "int64"
                }
            }
        },
        "textproto.MIMEHeader": {
            "type": "object",
            "additionalProperties": {
                "type": "array",
                "items": {
                    "type": "string"
                }
            }
        },
        "timestamppb.Timestamp": {
            "type": "object",
            "properties": {
                "nanos": {
                    "description": "Non-negative fractions of a second at nanosecond resolution. Negative\nsecond values with fractions must still have non-negative nanos values\nthat count forward in time. Must be from 0 to 999,999,999\ninclusive.",
                    "type": "integer"
                },
                "seconds": {
                    "description": "Represents seconds of UTC time since Unix epoch\n1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n9999-12-31T23:59:59Z inclusive.",
                    "type": "integer"
                }
            }
        }
    }
}