{
  "swagger": "2.0",
  "info": {
    "title": "User management Service",
    "version": "2.0",
    "contact": {
      "name": "Paralus Dev"
    }
  },
  "tags": [
    {
      "name": "UserService"
    }
  ],
  "schemes": [
    "https"
  ],
  "consumes": [
    "application/json",
    "application/yaml"
  ],
  "produces": [
    "application/json",
    "application/yaml"
  ],
  "paths": {
    "/auth/v3/cli/config": {
      "get": {
        "operationId": "UserService_DownloadCliConfig",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v3HttpBody"
            }
          },
          "403": {
            "description": "Returned when the user does not have permission to access the resource.",
            "schema": {}
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "tags": [
          "UserService"
        ]
      }
    },
    "/auth/v3/user/auditlog": {
      "post": {
        "operationId": "UserService_AuditLogWebhook",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v3UserLoginAuditResponse"
            }
          },
          "403": {
            "description": "Returned when the user does not have permission to access the resource.",
            "schema": {}
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v3UserLoginAuditRequest"
            }
          }
        ],
        "tags": [
          "UserService"
        ]
      }
    },
    "/auth/v3/user/{metadata.name}": {
      "get": {
        "operationId": "UserService_GetUser",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v3User"
            }
          },
          "403": {
            "description": "Returned when the user does not have permission to access the resource.",
            "schema": {}
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.name",
            "description": "name of the resource",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "apiVersion",
            "description": "API Version\n\nAPI Version of the user resource",
            "in": "query",
            "required": true,
            "type": "string",
            "default": "system.k8smgmt.io/v3"
          },
          {
            "name": "kind",
            "description": "Kind\n\nKind of the user resource",
            "in": "query",
            "required": true,
            "type": "string",
            "default": "User"
          },
          {
            "name": "metadata.displayName",
            "description": "Display Name\n\ndisplay name of the resource",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.description",
            "description": "Description\n\ndescription of the resource",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.project",
            "description": "Project\n\nProject of the resource",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "metadata.organization",
            "description": "Organization\n\nOrganization to which the resource belongs",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.partner",
            "description": "Partner\n\nPartner to which the resource belongs",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.id",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.urlScope",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.createdAt",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "metadata.modifiedAt",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "spec.firstName",
            "description": "FirstName\n\nFirst name of the user",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.lastName",
            "description": "LastName\n\nLast name of the user",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.phone",
            "description": "Phone\n\nPhone number of the user",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.password",
            "description": "Password\n\nPassword of the user",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.groups",
            "description": "Group\n\nGroups the user belongs to",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "readOnly": true
            },
            "collectionFormat": "multi"
          },
          {
            "name": "spec.idpGroups",
            "description": "Idp Group\n\nIdp Groups the user belongs to",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "readOnly": true
            },
            "collectionFormat": "multi"
          },
          {
            "name": "spec.emailVerified",
            "description": "EmailVerified\n\nFlag to show if the email of the user was verified",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "spec.phoneVerified",
            "description": "PhoneVerified\n\nFlag to show if phone number of the user was verified",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "spec.recoveryUrl",
            "description": "Recovery Url\n\nInitial signup URL returned after user creation",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.lastLogin",
            "description": "LastLogin\n\nLast access date time in RFC3339 format.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "status.conditionType",
            "description": "Condition Type\n\ntype of the status condition",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "status.conditionStatus",
            "description": "Condition Status\n\nstatus of the condition",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "StatusNotSet",
              "StatusSubmitted",
              "StatusOK",
              "StatusFailed"
            ],
            "default": "StatusNotSet"
          },
          {
            "name": "status.lastUpdated",
            "description": "Last Updated\n\nwhen the condition status is last updated",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "status.reason",
            "description": "Reason\n\nreason of the last condition status",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "UserService"
        ]
      },
      "delete": {
        "operationId": "UserService_DeleteUser",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v3UserDeleteApiKeysResponse"
            }
          },
          "204": {
            "description": "Returned when user is deleted successfully.",
            "schema": {}
          },
          "403": {
            "description": "Returned when the user does not have permission to access the resource.",
            "schema": {}
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.name",
            "description": "name of the resource",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "apiVersion",
            "description": "API Version\n\nAPI Version of the user resource",
            "in": "query",
            "required": true,
            "type": "string",
            "default": "system.k8smgmt.io/v3"
          },
          {
            "name": "kind",
            "description": "Kind\n\nKind of the user resource",
            "in": "query",
            "required": true,
            "type": "string",
            "default": "User"
          },
          {
            "name": "metadata.displayName",
            "description": "Display Name\n\ndisplay name of the resource",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.description",
            "description": "Description\n\ndescription of the resource",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.project",
            "description": "Project\n\nProject of the resource",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "metadata.organization",
            "description": "Organization\n\nOrganization to which the resource belongs",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.partner",
            "description": "Partner\n\nPartner to which the resource belongs",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.id",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.urlScope",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.createdAt",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "metadata.modifiedAt",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "spec.firstName",
            "description": "FirstName\n\nFirst name of the user",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.lastName",
            "description": "LastName\n\nLast name of the user",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.phone",
            "description": "Phone\n\nPhone number of the user",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.password",
            "description": "Password\n\nPassword of the user",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.groups",
            "description": "Group\n\nGroups the user belongs to",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "readOnly": true
            },
            "collectionFormat": "multi"
          },
          {
            "name": "spec.idpGroups",
            "description": "Idp Group\n\nIdp Groups the user belongs to",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "readOnly": true
            },
            "collectionFormat": "multi"
          },
          {
            "name": "spec.emailVerified",
            "description": "EmailVerified\n\nFlag to show if the email of the user was verified",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "spec.phoneVerified",
            "description": "PhoneVerified\n\nFlag to show if phone number of the user was verified",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "spec.recoveryUrl",
            "description": "Recovery Url\n\nInitial signup URL returned after user creation",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.lastLogin",
            "description": "LastLogin\n\nLast access date time in RFC3339 format.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "status.conditionType",
            "description": "Condition Type\n\ntype of the status condition",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "status.conditionStatus",
            "description": "Condition Status\n\nstatus of the condition",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "StatusNotSet",
              "StatusSubmitted",
              "StatusOK",
              "StatusFailed"
            ],
            "default": "StatusNotSet"
          },
          {
            "name": "status.lastUpdated",
            "description": "Last Updated\n\nwhen the condition status is last updated",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "status.reason",
            "description": "Reason\n\nreason of the last condition status",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "UserService"
        ]
      },
      "put": {
        "operationId": "UserService_UpdateUser",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v3User"
            }
          },
          "403": {
            "description": "Returned when the user does not have permission to access the resource.",
            "schema": {}
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "metadata.name",
            "description": "name of the resource",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "apiVersion": {
                  "type": "string",
                  "default": "system.k8smgmt.io/v3",
                  "description": "API Version of the user resource",
                  "title": "API Version"
                },
                "kind": {
                  "type": "string",
                  "default": "User",
                  "description": "Kind of the user resource",
                  "title": "Kind"
                },
                "metadata": {
                  "type": "object",
                  "example": {
                    "name": "some-name",
                    "project": "defaultproject"
                  },
                  "properties": {
                    "displayName": {
                      "type": "string",
                      "description": "display name of the resource",
                      "title": "Display Name"
                    },
                    "description": {
                      "type": "string",
                      "description": "description of the resource",
                      "title": "Description"
                    },
                    "labels": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "labels of the resource",
                      "title": "Labels"
                    },
                    "annotations": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "annotations of the resource",
                      "title": "Annotations"
                    },
                    "project": {
                      "type": "string",
                      "description": "Project of the resource",
                      "title": "Project"
                    },
                    "organization": {
                      "type": "string",
                      "description": "Organization to which the resource belongs",
                      "title": "Organization"
                    },
                    "partner": {
                      "type": "string",
                      "description": "Partner to which the resource belongs",
                      "title": "Partner"
                    },
                    "id": {
                      "type": "string",
                      "readOnly": true
                    },
                    "urlScope": {
                      "type": "string",
                      "readOnly": true
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time",
                      "readOnly": true
                    },
                    "modifiedAt": {
                      "type": "string",
                      "format": "date-time",
                      "readOnly": true
                    }
                  },
                  "description": "metadata of the resource",
                  "title": "Metadata"
                },
                "spec": {
                  "$ref": "#/definitions/v3UserSpec",
                  "description": "Spec of the user resource",
                  "title": "Spec"
                },
                "status": {
                  "$ref": "#/definitions/commonv3Status",
                  "description": "Status of the resource",
                  "title": "Status",
                  "readOnly": true
                }
              },
              "description": "User",
              "title": "User",
              "required": [
                "apiVersion",
                "kind",
                "metadata",
                "spec",
                "project"
              ]
            }
          }
        ],
        "tags": [
          "UserService"
        ]
      }
    },
    "/auth/v3/user/{username}/apikeys": {
      "get": {
        "operationId": "UserService_UserListApiKeys",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v3UserListApiKeysResponse"
            }
          },
          "403": {
            "description": "Returned when the user does not have permission to access the resource.",
            "schema": {}
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "UserService"
        ]
      }
    },
    "/auth/v3/user/{username}/apikeys/{id}": {
      "delete": {
        "operationId": "UserService_UserDeleteApiKeys",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v3UserDeleteApiKeysResponse"
            }
          },
          "403": {
            "description": "Returned when the user does not have permission to access the resource.",
            "schema": {}
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "UserService"
        ]
      }
    },
    "/auth/v3/user/{username}/forgotpassword": {
      "get": {
        "operationId": "UserService_UserForgotPassword",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v3UserForgotPasswordResponse"
            }
          },
          "403": {
            "description": "Returned when the user does not have permission to access the resource.",
            "schema": {}
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "UserService"
        ]
      }
    },
    "/auth/v3/userinfo": {
      "get": {
        "operationId": "UserService_GetUserInfo",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v3UserInfo"
            }
          },
          "403": {
            "description": "Returned when the user does not have permission to access the resource.",
            "schema": {}
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "apiVersion",
            "description": "API Version\n\nAPI Version of the user resource",
            "in": "query",
            "required": true,
            "type": "string",
            "default": "system.k8smgmt.io/v3"
          },
          {
            "name": "kind",
            "description": "Kind\n\nKind of the user resource",
            "in": "query",
            "required": true,
            "type": "string",
            "default": "User"
          },
          {
            "name": "metadata.name",
            "description": "Name\n\nname of the resource",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "metadata.displayName",
            "description": "Display Name\n\ndisplay name of the resource",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.description",
            "description": "Description\n\ndescription of the resource",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.project",
            "description": "Project\n\nProject of the resource",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "metadata.organization",
            "description": "Organization\n\nOrganization to which the resource belongs",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.partner",
            "description": "Partner\n\nPartner to which the resource belongs",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.id",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.urlScope",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "metadata.createdAt",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "metadata.modifiedAt",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "spec.firstName",
            "description": "FirstName\n\nFirst name of the user",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.lastName",
            "description": "LastName\n\nLast name of the user",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.phone",
            "description": "Phone\n\nPhone number of the user",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.password",
            "description": "Password\n\nPassword of the user",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.groups",
            "description": "Group\n\nGroups the user belongs to",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "readOnly": true
            },
            "collectionFormat": "multi"
          },
          {
            "name": "spec.idpGroups",
            "description": "Idp Group\n\nIdp Groups the user belongs to",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "readOnly": true
            },
            "collectionFormat": "multi"
          },
          {
            "name": "spec.emailVerified",
            "description": "EmailVerified\n\nFlag to show if the email of the user was verified",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "spec.phoneVerified",
            "description": "PhoneVerified\n\nFlag to show if phone number of the user was verified",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "spec.recoveryUrl",
            "description": "Recovery Url\n\nInitial signup URL returned after user creation",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "spec.lastLogin",
            "description": "LastLogin\n\nLast access date time in RFC3339 format.",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "status.conditionType",
            "description": "Condition Type\n\ntype of the status condition",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "status.conditionStatus",
            "description": "Condition Status\n\nstatus of the condition",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "StatusNotSet",
              "StatusSubmitted",
              "StatusOK",
              "StatusFailed"
            ],
            "default": "StatusNotSet"
          },
          {
            "name": "status.lastUpdated",
            "description": "Last Updated\n\nwhen the condition status is last updated",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "date-time"
          },
          {
            "name": "status.reason",
            "description": "Reason\n\nreason of the last condition status",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "UserService"
        ]
      }
    },
    "/auth/v3/users": {
      "get": {
        "operationId": "UserService_GetUsers",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v3UserList"
            }
          },
          "403": {
            "description": "Returned when the user does not have permission to access the resource.",
            "schema": {}
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "q",
            "description": "query for filtering",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "name",
            "description": "name is unique ID of a resource along with (partnerID, organizationID,\nprojectID)",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "selector",
            "description": "selector is used to filter the labels of a resource",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "partner",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "organization",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "project",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "group",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "role",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "displayName",
            "description": "displayName only used for update queries to set displayName (READONLY)",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "count",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "int64"
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "int64"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "string",
            "format": "int64"
          },
          {
            "name": "ignoreScopeDefault",
            "description": "ignoreScopeDefault ignores default values for partnerID, organizationID and\nprojectID",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "globalScope",
            "description": "globalScope sets partnerID,organizationID,projectID = 0",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "orderBy",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "order",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "deleted",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "extended",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "urlScope",
            "description": "urlScope is supposed to be passed in the URL as kind/HashID(value)",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "isSSOUser",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "username",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "groups",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "blueprintRef",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "publishedVersion",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "clusterID",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "ID",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "account",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "type",
            "description": "generic way to specify a type of resource, mainly for use in users endpoint",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "UserService"
        ]
      },
      "post": {
        "operationId": "UserService_CreateUser",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v3User"
            }
          },
          "201": {
            "description": "Returned when user is created successfully.",
            "schema": {}
          },
          "403": {
            "description": "Returned when the user does not have permission to access the resource.",
            "schema": {}
          },
          "404": {
            "description": "Returned when the resource does not exist.",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/googlerpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "description": "User",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v3User"
            }
          }
        ],
        "tags": [
          "UserService"
        ]
      }
    }
  },
  "definitions": {
    "commonv3Status": {
      "type": "object",
      "properties": {
        "conditionType": {
          "type": "string",
          "description": "type of the status condition",
          "title": "Condition Type",
          "readOnly": true
        },
        "conditionStatus": {
          "$ref": "#/definitions/v3ConditionStatus",
          "enum": [
            "StatusNotSet",
            "StatusSubmitted",
            "StatusOK",
            "StatusFailed"
          ],
          "description": "status of the condition",
          "title": "Condition Status",
          "readOnly": true
        },
        "lastUpdated": {
          "type": "string",
          "format": "date-time",
          "description": "when the condition status is last updated",
          "title": "Last Updated",
          "readOnly": true
        },
        "reason": {
          "type": "string",
          "description": "reason of the last condition status",
          "title": "Reason",
          "readOnly": true
        }
      },
      "description": "status of a resource",
      "title": "Status",
      "readOnly": true
    },
    "googlerpcStatus": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32"
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/protobufAny"
          }
        }
      }
    },
    "protobufAny": {
      "type": "object",
      "properties": {
        "@type": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "v3ApiKeyResponse": {
      "type": "object",
      "properties": {
        "modifiedAt": {
          "type": "string",
          "format": "date-time"
        },
        "createdAt": {
          "type": "string",
          "format": "date-time"
        },
        "id": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "v3ConditionStatus": {
      "type": "string",
      "enum": [
        "StatusNotSet",
        "StatusSubmitted",
        "StatusOK",
        "StatusFailed"
      ],
      "default": "StatusNotSet",
      "title": "$title: ConditionStatus\n$description: status of a condition for a resource"
    },
    "v3HttpBody": {
      "type": "object",
      "properties": {
        "contentType": {
          "type": "string",
          "description": "The HTTP Content-Type header value specifying the content type of the body."
        },
        "data": {
          "type": "string",
          "format": "byte",
          "description": "The HTTP request/response body as raw binary."
        }
      },
      "title": "HttpBody represents arbitrary HTTP Body. It should only be used for\npayload formats that can't be represented as JSON"
    },
    "v3ListMetadata": {
      "type": "object",
      "properties": {
        "count": {
          "type": "string",
          "format": "int64"
        },
        "offset": {
          "type": "string",
          "format": "int64"
        },
        "limit": {
          "type": "string",
          "format": "int64"
        }
      },
      "title": "$title: ListMetadata\n$description: metadata for a list of resources\n$required: enabled"
    },
    "v3Metadata": {
      "type": "object",
      "example": {
        "name": "some-name",
        "project": "defaultproject"
      },
      "properties": {
        "name": {
          "type": "string",
          "description": "name of the resource",
          "title": "Name"
        },
        "displayName": {
          "type": "string",
          "description": "display name of the resource",
          "title": "Display Name"
        },
        "description": {
          "type": "string",
          "description": "description of the resource",
          "title": "Description"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "labels of the resource",
          "title": "Labels"
        },
        "annotations": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "annotations of the resource",
          "title": "Annotations"
        },
        "project": {
          "type": "string",
          "description": "Project of the resource",
          "title": "Project"
        },
        "organization": {
          "type": "string",
          "description": "Organization to which the resource belongs",
          "title": "Organization"
        },
        "partner": {
          "type": "string",
          "description": "Partner to which the resource belongs",
          "title": "Partner"
        },
        "id": {
          "type": "string",
          "readOnly": true
        },
        "urlScope": {
          "type": "string",
          "readOnly": true
        },
        "createdAt": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        },
        "modifiedAt": {
          "type": "string",
          "format": "date-time",
          "readOnly": true
        }
      },
      "description": "metadata of the resource",
      "title": "Metadata",
      "required": [
        "name",
        "project"
      ]
    },
    "v3Permission": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "Project",
          "title": "Project"
        },
        "namespace": {
          "type": "string",
          "description": "Namespace",
          "title": "Namespace"
        },
        "role": {
          "type": "string",
          "description": "Role",
          "title": "Role"
        },
        "permissions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Permissions provided by role",
          "title": "Permissions"
        },
        "scope": {
          "type": "string",
          "description": "Scope holds information about org wide, project or namespace access",
          "title": "Scope"
        }
      },
      "description": "Permissions",
      "title": "Permissions"
    },
    "v3ProjectNamespaceRole": {
      "type": "object",
      "properties": {
        "project": {
          "type": "string",
          "description": "Project",
          "title": "Project"
        },
        "namespace": {
          "type": "string",
          "description": "Namespace",
          "title": "Namespace"
        },
        "role": {
          "type": "string",
          "description": "Role",
          "title": "Role"
        },
        "group": {
          "type": "string",
          "description": "Group",
          "title": "Group"
        }
      },
      "description": "Project, role and namespace pairing for permission",
      "title": "ProjectNamespaceRole"
    },
    "v3User": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "default": "system.k8smgmt.io/v3",
          "description": "API Version of the user resource",
          "title": "API Version"
        },
        "kind": {
          "type": "string",
          "default": "User",
          "description": "Kind of the user resource",
          "title": "Kind"
        },
        "metadata": {
          "$ref": "#/definitions/v3Metadata",
          "description": "Metadata of the user resource",
          "title": "Metadata"
        },
        "spec": {
          "$ref": "#/definitions/v3UserSpec",
          "description": "Spec of the user resource",
          "title": "Spec"
        },
        "status": {
          "$ref": "#/definitions/commonv3Status",
          "description": "Status of the resource",
          "title": "Status",
          "readOnly": true
        }
      },
      "description": "User",
      "title": "User",
      "required": [
        "apiVersion",
        "kind",
        "metadata",
        "spec"
      ]
    },
    "v3UserDeleteApiKeysResponse": {
      "type": "object"
    },
    "v3UserForgotPasswordResponse": {
      "type": "object",
      "properties": {
        "recoveryLink": {
          "type": "string"
        }
      }
    },
    "v3UserInfo": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "default": "system.k8smgmt.io/v3",
          "description": "API Version of the user resource",
          "title": "API Version"
        },
        "kind": {
          "type": "string",
          "default": "User",
          "description": "Kind of the user resource",
          "title": "Kind"
        },
        "metadata": {
          "$ref": "#/definitions/v3Metadata",
          "description": "Metadata of the user resource",
          "title": "Metadata"
        },
        "spec": {
          "$ref": "#/definitions/v3UserInfoSpec",
          "description": "Spec of the user resource",
          "title": "Spec"
        },
        "status": {
          "$ref": "#/definitions/commonv3Status",
          "description": "Status of the resource",
          "title": "Status",
          "readOnly": true
        }
      },
      "description": "User info",
      "title": "UserInfo",
      "required": [
        "apiVersion",
        "kind",
        "metadata",
        "spec"
      ]
    },
    "v3UserInfoSpec": {
      "type": "object",
      "properties": {
        "firstName": {
          "type": "string",
          "description": "First name of the user",
          "title": "FirstName"
        },
        "lastName": {
          "type": "string",
          "description": "Last name of the user",
          "title": "LastName"
        },
        "phone": {
          "type": "string",
          "description": "Phone number of the user",
          "title": "Phone"
        },
        "groups": {
          "type": "array",
          "items": {
            "type": "string",
            "readOnly": true
          },
          "description": "Groups the user belongs to",
          "title": "Group"
        },
        "idpGroups": {
          "type": "array",
          "items": {
            "type": "string",
            "readOnly": true
          },
          "description": "Idp Groups the user belongs to",
          "title": "Idp Group"
        },
        "permissions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v3Permission"
          },
          "description": "Permissions for the user",
          "title": "Permissions"
        },
        "emailVerified": {
          "type": "boolean",
          "description": "Flag to show if the email of the user was verified",
          "title": "EmailVerified",
          "readOnly": true
        },
        "phoneVerified": {
          "type": "boolean",
          "description": "Flag to show if phone number of the user was verified",
          "title": "PhoneVerified",
          "readOnly": true
        }
      },
      "description": "User info specification",
      "title": "UserInfo Specification"
    },
    "v3UserList": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "default": "usermgmt.k8smgmt.io/v3",
          "description": "API Version of the user list resource",
          "title": "API Version",
          "readOnly": true
        },
        "kind": {
          "type": "string",
          "default": "UserList",
          "description": "Kind of the user list resource",
          "title": "Kind",
          "readOnly": true
        },
        "metadata": {
          "$ref": "#/definitions/v3ListMetadata",
          "description": "Metadata of the user list resource",
          "title": "Metadata",
          "readOnly": true
        },
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v3User",
            "readOnly": true
          },
          "description": "List of the user resources",
          "title": "Items"
        }
      },
      "description": "User list",
      "title": "UserList",
      "readOnly": true
    },
    "v3UserListApiKeysResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v3ApiKeyResponse"
          }
        }
      }
    },
    "v3UserLoginAuditRequest": {
      "type": "object",
      "properties": {
        "userId": {
          "type": "string"
        }
      }
    },
    "v3UserLoginAuditResponse": {
      "type": "object"
    },
    "v3UserSpec": {
      "type": "object",
      "properties": {
        "firstName": {
          "type": "string",
          "description": "First name of the user",
          "title": "FirstName"
        },
        "lastName": {
          "type": "string",
          "description": "Last name of the user",
          "title": "LastName"
        },
        "phone": {
          "type": "string",
          "description": "Phone number of the user",
          "title": "Phone"
        },
        "password": {
          "type": "string",
          "description": "Password of the user",
          "title": "Password"
        },
        "groups": {
          "type": "array",
          "items": {
            "type": "string",
            "readOnly": true
          },
          "description": "Groups the user belongs to",
          "title": "Group"
        },
        "idpGroups": {
          "type": "array",
          "items": {
            "type": "string",
            "readOnly": true
          },
          "description": "Idp Groups the user belongs to",
          "title": "Idp Group"
        },
        "projectNamespaceRoles": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/v3ProjectNamespaceRole"
          },
          "description": "Project, namespace, role associations for user",
          "title": "ProjectNamespaceRoles"
        },
        "emailVerified": {
          "type": "boolean",
          "description": "Flag to show if the email of the user was verified",
          "title": "EmailVerified",
          "readOnly": true
        },
        "phoneVerified": {
          "type": "boolean",
          "description": "Flag to show if phone number of the user was verified",
          "title": "PhoneVerified",
          "readOnly": true
        },
        "recoveryUrl": {
          "type": "string",
          "description": "Initial signup URL returned after user creation",
          "title": "Recovery Url",
          "readOnly": true
        },
        "lastLogin": {
          "type": "string",
          "description": "Last access date time in RFC3339 format.",
          "title": "LastLogin",
          "readOnly": true
        }
      },
      "description": "User specification",
      "title": "User Specification"
    }
  },
  "securityDefinitions": {
    "ApiKeyAuth": {
      "type": "apiKey",
      "name": "X-PARALUS-API-KEYID",
      "in": "header"
    },
    "BasicAuth": {
      "type": "basic"
    }
  },
  "security": [
    {
      "ApiKeyAuth": [],
      "BasicAuth": []
    }
  ]
}
