{
  "swagger": "2.0",
  "info": {
    "description": "This is a management portal server",
    "title": "Management Portal API",
    "contact": {},
    "version": "1.0"
  },
  "schemes": ["http"],
  "consumes": ["application/json"],
  "produces": ["application/json"],
  "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"
            }
          }
        }
      }
    },
    "/dashboard/stats": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["System"],
        "summary": "GetDashboardStats",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.GetDashboardStatsResq"
            }
          }
        }
      }
    },
    "/me": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["ManagementPortalUser"],
        "summary": "GetCentralUserProfile",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.CentralUserProfile"
            }
          }
        }
      }
    },
    "/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/mcpo/create": {
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["msp"],
        "operationId": "CreateMCPOResellerOrg",
        "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/cppo/create": {
      "post": {
        "consumes": ["application/json"],
        "tags": ["msp"],
        "operationId": "CreateCppoOrg",
        "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/msp/create": {
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["msp"],
        "operationId": "CreateMspOrg",
        "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/get/{org_id}": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["msp"],
        "operationId": "GetMspOrg",
        "summary": "GetMspOrg",
        "parameters": [
          {
            "description": "Org ID",
            "type": "string",
            "name": "org_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.MspOrg"
            }
          }
        }
      }
    },
    "/partner/partner-customer/create": {
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["msp"],
        "operationId": "CreateCustomer",
        "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"],
        "operationId": "DeleteCustomer",
        "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/msp/update": {
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["msp"],
        "operationId": "UpdateMspOrg",
        "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/{org_id}": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["msp"],
        "operationId": "GetMspByOrgId",
        "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"],
        "operationId": "CreateMspAPIKey",
        "summary": "CreateMspAPIKey",
        "parameters": [
          {
            "description": "Org ID",
            "name": "org_id",
            "in": "path",
            "type": "string",
            "required": true
          },
          {
            "description": "org_id",
            "name": "data",
            "in": "body",
            "schema": {
              "type": "object",
              "properties": {
                "org_id": {
                  "type": "string"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.EmptyResponse"
            }
          }
        }
      }
    },
    "/partner/partner-customer/{org_id}": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["msp"],
        "operationId": "GetCustomerByOrgId",
        "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"],
        "operationId": "CreateResalePartnerOrg",
        "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"],
        "operationId": "GetResaleCustomerSignupUrl",
        "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"],
        "operationId": "GetCustomersByPartnerId",
        "summary": "GetCustomersByPartnerId",
        "parameters": [
          {
            "type": "string",
            "description": "org_id",
            "name": "org_id",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "name": "per_page",
            "in": "query"
          }
        ],
        "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"],
        "operationId": "GetSignupUrl",
        "summary": "GetSignupUrl",
        "parameters": [
          {
            "type": "string",
            "description": "org_id",
            "name": "org_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "signup_url",
            "schema": {
              "type": "string"
            }
          }
        }
      }
    },
    "/orgs": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["Tenant"],
        "operationId": "ListTenants",
        "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",
            "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/{org_id}": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["Tenant"],
        "operationId": "GetTenantByID",
        "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": "PatchTenant",
        "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"],
        "operationId": "GetTenantResource",
        "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"],
        "operationId": "GetOrgProjects",
        "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"],
        "operationId": "GetProjectResource",
        "summary": "GetProjectResource",
        "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.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}/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}/projects/{project_id}/users": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["Tenant"],
        "operationId": "GetProjectUsers",
        "summary": "GetProjectUsers",
        "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
          },
          {
            "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": "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": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["Tenant"],
        "summary": "GetOrgUsers",
        "operationId": "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",
            "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}": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["TenantUser"],
        "summary": "Get Tenant User",
        "parameters": [
          {
            "type": "string",
            "description": "org_id",
            "name": "org_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "user_id",
            "name": "user_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.TenantUser"
            }
          }
        }
      },
      "put": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["TenantUser"],
        "summary": "Update Tenant User",
        "parameters": [
          {
            "type": "string",
            "description": "org_id",
            "name": "org_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "user_id",
            "name": "user_id",
            "in": "path",
            "required": true
          },
          {
            "description": "update User",
            "name": "user",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.TenantUser"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.TenantUser"
            }
          }
        }
      },
      "delete": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["TenantUser"],
        "summary": "Delete Tenant User",
        "parameters": [
          {
            "type": "string",
            "description": "org_id",
            "name": "org_id",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "user_id",
            "name": "user_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.EmptyResponse"
            }
          }
        }
      }
    },
    "/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",
            "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/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",
            "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",
            "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",
            "description": "id",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.RbacRole"
            }
          }
        }
      }
    },
    "/roles": {
      "get": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["ManagementPortalUser"],
        "summary": "ListCentralRoles",
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.ListRolesResp"
            }
          }
        }
      },
      "post": {
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["ManagementPortalUser"],
        "summary": "AddCentralRole",
        "parameters": [
          {
            "description": "AddCentralRole",
            "name": "role",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.Role"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.Role"
            }
          }
        }
      }
    },
    "/roles/{role_id}": {
      "get": {
        "description": "GetCentralRole",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["ManagementPortalUser"],
        "summary": "GetCentralRole",
        "parameters": [
          {
            "type": "string",
            "description": "role_id",
            "name": "role_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.Role"
            }
          }
        }
      },
      "put": {
        "description": "UpdateCentralRole",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["ManagementPortalUser"],
        "summary": "UpdateCentralRole",
        "parameters": [
          {
            "type": "string",
            "description": "role_id",
            "name": "role_id",
            "in": "path",
            "required": true
          },
          {
            "description": "UpdateCentralRole",
            "name": "role",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/forms.Role"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.Role"
            }
          }
        }
      },
      "delete": {
        "description": "DeleteCentralRole",
        "consumes": ["application/json"],
        "produces": ["application/json"],
        "tags": ["ManagementPortalUser"],
        "summary": "DeleteCentralRole",
        "parameters": [
          {
            "type": "string",
            "description": "role_id",
            "name": "role_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.EmptyResponse"
            }
          }
        }
      }
    },
    "/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"],
        "operationId": "ListUsers",
        "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",
        "operationId": "DeleteUserFromAllOrg",
        "parameters": [
          {
            "type": "string",
            "description": "user_id",
            "name": "user_id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/forms.EmptyResponse"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "forms.GetOrgProjectsResp": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.Project"
          }
        },
        "total": {
          "type": "integer"
        }
      }
    },
    "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.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"
        }
      }
    },
    "forms.ListUsersResp": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.User"
          }
        },
        "total": {
          "type": "integer"
        }
      }
    },
    "forms.User": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        },
        "first_name": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "example": "0"
        },
        "role": {
          "type": "string"
        },
        "last_name": {
          "type": "string"
        },
        "invite_time": {
          "$ref": "#/definitions/timestamppb.Timestamp"
        },
        "login_time": {
          "$ref": "#/definitions/timestamppb.Timestamp"
        },
        "phone_number": {
          "type": "string"
        },
        "status": {
          "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"
        }
      }
    },
    "forms.AccessLog": {
      "type": "object",
      "properties": {
        "content": {
          "type": "string"
        },
        "happened_on": {
          "type": "integer"
        },
        "id": {
          "type": "string",
          "example": "0"
        },
        "user": {
          "type": "string"
        }
      }
    },
    "forms.CentralUser": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        },
        "first_name": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "example": "0"
        },
        "last_name": {
          "type": "string"
        },
        "roles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "forms.CentralUserProfile": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "example": "0"
        },
        "name": {
          "type": "string"
        },
        "roles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "forms.Advertising": {
      "type": "object",
      "properties": {
        "body": {
          "type": "string"
        },
        "heading": {
          "type": "string"
        },
        "index": {
          "type": "string"
        }
      }
    },
    "forms.CppoOrgReq": {
      "type": "object",
      "properties": {
        "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.CreateAPIKeyReq": {
      "type": "object",
      "properties": {
        "creator_user_id": {
          "type": "string",
          "example": "0"
        },
        "key_name": {
          "type": "string"
        },
        "org_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.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.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.ListCentralUsersResp": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.CentralUser"
          }
        },
        "total": {
          "type": "integer"
        }
      }
    },
    "forms.ListRbacPrivilegeResp": {
      "type": "object",
      "properties": {
        "List": {
          "description": "nolint",
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.RbacPrivilegeResp"
          }
        },
        "Total": {
          "description": "nolint",
          "type": "integer"
        }
      }
    },
    "forms.ListRolesResp": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.Role"
          }
        },
        "total": {
          "type": "integer"
        }
      }
    },
    "forms.ListTenantResp": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.Tenant"
          }
        },
        "total": {
          "type": "integer"
        }
      }
    },
    "forms.ListTenantUsersResp": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.TenantUser"
          }
        },
        "total": {
          "type": "integer"
        }
      }
    },
    "forms.PatchTenantReq": {
      "type": "object",
      "properties": {
        "account_manager": {
          "description": "the email address of account manager, must end with @pingcap.com",
          "type": "string"
        },
        "alias": {
          "type": "string"
        },
        "kind": {
          "type": "string",
          "enum": ["internal", "external"]
        }
      }
    },
    "forms.Privilege": {
      "type": "object",
      "required": ["operation", "resource"],
      "properties": {
        "operation": {
          "type": "string",
          "minLength": 1
        },
        "resource": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "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.Role": {
      "type": "object",
      "required": ["name", "privileges"],
      "properties": {
        "id": {
          "type": "string",
          "example": "0"
        },
        "name": {
          "type": "string"
        },
        "privileges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.Privilege"
          }
        }
      }
    },
    "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",
          "enum": ["MSP", "CPPO", "MCPO", "RESALE"]
        },
        "status": {
          "type": "string"
        }
      }
    },
    "forms.UploadMspLogo": {
      "type": "object"
    },
    "forms.UploadMspLogoResp": {
      "type": "object",
      "properties": {
        "logo_name": {
          "type": "string"
        },
        "logo_url": {
          "type": "string"
        }
      }
    },
    "forms.ListMspResp": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/forms.MspOrg"
          }
        },
        "total": {
          "type": "number",
          "example": "0"
        }
      }
    },
    "forms.MCPOResellerOrgReq": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "forms.MCPOResellerOrgResp": {
      "type": "object",
      "properties": {
        "org_id": {
          "type": "string",
          "example": "0"
        }
      }
    },
    "forms.MspOrg": {
      "type": "object",
      "properties": {
        "advertising_arr": {
          "description": "RegistrationLink string        `json:\"registration_link\"`",
          "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"
        },
        "registration_link": {
          "type": "string"
        },
        "time_zone": {
          "type": "string"
        },
        "updated_by": {
          "type": "string"
        },
        "website": {
          "type": "string"
        },
        "disclaimers": {
          "type": "string"
        }
      }
    },
    "forms.PageData": {
      "type": "object",
      "properties": {
        "items": {},
        "total": {
          "type": "string",
          "example": "0"
        }
      }
    },
    "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"
        },
        "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"
        },
        "org_tag": {
          "type": "string",
          "enum": [
            "msp",
            "msp_customer",
            "aws_cppo",
            "aws_cppo_customer",
            "gcp_mcpo_reseller",
            "gcp_mcpo_customer",
            "resale_partner"
          ]
        },
        "org_type": {
          "type": "string"
        }
      }
    },
    "forms.TenantUser": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        },
        "first_name": {
          "type": "string"
        },
        "id": {
          "type": "string",
          "example": "0"
        },
        "last_name": {
          "type": "string"
        },
        "org_id": {
          "type": "string",
          "example": "0"
        },
        "role": {
          "type": "string"
        },
        "roles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "status": {
          "type": "string"
        }
      }
    }
  }
}
