{
  "openapi": "3.0.0",
  "info": {
    "version": "1.0",
    "title": "Access Risk Management Authentication Services"
  },
  "tags":[{"name":"Auth"},{"name":"ChangeLogs"},{"name":"Customer"},{"name":"Impersonation"},{"name":"License"},{"name":"SelfService"},{"name":"Service"},{"name":"Signature"},{"name":"Sso"},{"name":"System"},{"name":"SystemSettings"},{"name":"TenancyCheck"},{"name":"User"},{"name":"UserCustomer"},{"name":"UserPortability"},{"name":"UserRole"}],
  "paths": {
    "/api/auth/login": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Logs in the user with a username/ password and returns a JWT and refresh token.",
        "operationId": "Login",
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.AuthenticationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/loginwithusername": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Logs in the user with just a username and returns a JWT and refresh token.",
        "operationId": "LoginWithUsername",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.AuthenticationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/refresh": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Using a refresh token, get a new JWT.",
        "operationId": "Refresh",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.RefreshResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/legacyLogin": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Allows authentication via legacy EmHub/ AzureAD system.",
        "operationId": "LoginWithLegacyCredentials",
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.AuthenticationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/auth/sso": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "When authenticated via an external IDP for SSO, the authentication service will return  a short-lived cookie called SsoToken that can be used to fetch a valid JWT and refresh  token from the system.",
        "operationId": "LoginViaSsoCookie",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.AuthenticationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/changeLogs/{customerId}/users": {
      "post": {
        "tags": [
          "ChangeLogs"
        ],
        "summary": "Schedules new User Management Change Logs job.",
        "operationId": "ScheduleUsersChangeLog",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "Identifier of the customer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": "Start date of the reporting period.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "End date of the reporting period.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json;odata.metadata=minimal;odata.streaming=true": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=minimal;odata.streaming=false": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=minimal": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=full;odata.streaming=true": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=full;odata.streaming=false": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=full": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=none;odata.streaming=true": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=none;odata.streaming=false": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=none": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.streaming=true": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.streaming=false": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/xml": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/prs.odatatestxx-odata": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "text/plain": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "text/json": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/accounts/{legacyAccountId}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "operationId": "GetCustomer",
        "parameters": [
          {
            "name": "legacyAccountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/accounts": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Lists accounts in the system with some rudimentary searching and sorting functionality.",
        "operationId": "List",
        "parameters": [
          {
            "name": "pageNum",
            "in": "query",
            "description": "",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "searchTerm",
            "in": "query",
            "description": "",
            "required": false,
            "schema": {
              "type": "string",
              "default": ""
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Customer"
        ],
        "summary": "Updates the specified account with the provided metadata.",
        "operationId": "ModifyCustomer",
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Creates a new account in the system.",
        "operationId": "CreateCustomer",
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/accounts/{customerId}/{accountId}": {
      "post": {
        "tags": [
          "Customer"
        ],
        "summary": "Links customer and legacy account.  This endpoint is mainly used by AuthSync process, when new customer and account are created.",
        "operationId": "SetLegacyAccountId",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "Identifier of the customer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "Identifier of the account.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        },
        "deprecated": true
      }
    },
    "/api/accounts/{customerId}/accessContext/enable": {
      "patch": {
        "tags": [
          "Customer"
        ],
        "summary": "Enables access contexts for the customer.",
        "operationId": "EnableAccessContexts",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "Identifier of the customer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/accounts/{customerId}/accessContext/disable": {
      "patch": {
        "tags": [
          "Customer"
        ],
        "summary": "Disables access contexts for the customer.",
        "operationId": "DisableAccessContexts",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "Identifier of the customer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/accounts/{customerId}/accessContext/areEnabled": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Determines if access contexts are enabled for specified customer.",
        "operationId": "AreAccessContextsEnabled",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "Identifier of the customer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/accounts/customerInfo/{customerId}": {
      "get": {
        "tags": [
          "Customer"
        ],
        "summary": "Get information for a customer. Used by the  client service.",
        "operationId": "GetCustomerInfo",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "Identifier of the customer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CustomerModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/impersonation/accounts": {
      "get": {
        "tags": [
          "Impersonation"
        ],
        "summary": "List of eligible accounts for impersonation",
        "operationId": "GetAccountsForImpersonation",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "",
            "required": false,
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "pageNum",
            "in": "query",
            "description": "",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.MaestroCustomer"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        }
      }
    },
    "/api/impersonation/v{v}/customer/{customerId}/userdetails": {
      "get": {
        "tags": [
          "Impersonation"
        ],
        "summary": "Gets a list of user details for a given customer for Impersonation.  <param name=\"customerId\">Identifier of the customer.</param><param name=\"search\"></param>",
        "operationId": "GetCustomerUserDetailsV2",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "v",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.V2.UserDetailsModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        }
      }
    },
    "/api/impersonation/token": {
      "post": {
        "tags": [
          "Impersonation"
        ],
        "summary": "Provides an access token to act on behal of the impersonated user.",
        "operationId": "Impersonate",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel"
              }
            }
          },
          "description": "The impersonation request model parameters"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.AuthenticationResponse"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/accounts/{accountId}/licenses": {
      "get": {
        "tags": [
          "License"
        ],
        "summary": "Lists all licensed modules for the specified customer (account)",
        "operationId": "List",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.LicenseModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "License"
        ],
        "summary": "Sets/ creates the licensing for a module for the specified customer (account)",
        "operationId": "Set",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.License.LicenseModel"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/selfservice/register": {
      "post": {
        "tags": [
          "SelfService"
        ],
        "summary": "Allows a previously non-existent user to register with a new account, mainly used  to sign up for a free trial.",
        "operationId": "RegisterUser",
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/selfservice/user/exists": {
      "post": {
        "tags": [
          "SelfService"
        ],
        "summary": "If the username currently exists in our data store, return true.  Otherwise, return false.",
        "operationId": "UserExists",
        "requestBody": {
          "$ref": "#/components/requestBodies/UserExistsUsername"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/selfservice/company/exists": {
      "post": {
        "tags": [
          "SelfService"
        ],
        "summary": "If the company name currently exists in our data store, return true.  Otherwise, return false.",
        "operationId": "CompanyExists",
        "requestBody": {
          "$ref": "#/components/requestBodies/UserExistsUsername"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/selfservice/setpassword": {
      "post": {
        "tags": [
          "SelfService"
        ],
        "summary": "With the provided token and new password, allows a user to set/ create their password.  This will also set their account as having their email address confirmed.",
        "operationId": "SetPassword",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request"
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "Conflict"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/selfservice/changepassword": {
      "post": {
        "tags": [
          "SelfService"
        ],
        "summary": "With the provided old and new passwords, allows a user to change their password.",
        "operationId": "ChangePassword",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Exceptions.IdentityException"
                }
              }
            }
          }
        }
      }
    },
    "/api/selfservice/coworkers": {
      "post": {
        "tags": [
          "SelfService"
        ],
        "summary": "Registers a coworker at the same company as the authenticated user.  If the user's token  has expired, you can \"re-register\" the user using this method to generate a new token.",
        "operationId": "RegisterCoworker",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Exceptions.IdentityException"
                }
              }
            }
          }
        }
      }
    },
    "/api/selfservice/legacycredential": {
      "post": {
        "tags": [
          "SelfService"
        ],
        "summary": "Returns the company credential used for legacy operations within the Access Analyzer,  encrypted with the provided shared secret key.  This communication should always go over TLS.",
        "operationId": "GetLegacyCredential",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "type": "string"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "type": "string"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "type": "string"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "type": "string"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "type": "string"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "type": "string"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "type": "string"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "type": "string"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "type": "string"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "type": "string"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/xml": {
              "schema": {
                "type": "string"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "type": "string"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          },
          "description": "Shared key."
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/service/getlegacyid/{customerId}": {
      "get": {
        "tags": [
          "Service"
        ],
        "summary": "Returns legacy account identifier by provided customer identifier, for a service account",
        "operationId": "GetLegacyAccountId",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "Unique customer identifier",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/service/customerId/{accountId}": {
      "get": {
        "tags": [
          "Service"
        ],
        "summary": "Gets identifier of customer by its legacy ID, for a service account",
        "operationId": "GetCustomerId",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "Legacy account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/service/passwordResetToken/{userId}": {
      "get": {
        "tags": [
          "Service"
        ],
        "summary": "Generates PasswordReset token for specified user.",
        "operationId": "GeneratePasswordResetToken",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Identifier of the user.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/Signature/pgpsign": {
      "post": {
        "tags": [
          "Signature"
        ],
        "operationId": "PgpSign",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json;odata.metadata=minimal;odata.streaming=true": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/json;odata.metadata=minimal;odata.streaming=false": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/json;odata.metadata=minimal": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/json;odata.metadata=full;odata.streaming=true": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/json;odata.metadata=full;odata.streaming=false": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/json;odata.metadata=full": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/json;odata.metadata=none;odata.streaming=true": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/json;odata.metadata=none;odata.streaming=false": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/json;odata.metadata=none": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/json;odata.streaming=true": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/json;odata.streaming=false": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "application/prs.odatatestxx-odata": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.FileStreamResult"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json;odata.metadata=minimal;odata.streaming=true": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/json;odata.metadata=minimal;odata.streaming=false": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/json;odata.metadata=minimal": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/json;odata.metadata=full;odata.streaming=true": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/json;odata.metadata=full;odata.streaming=false": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/json;odata.metadata=full": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/json;odata.metadata=none;odata.streaming=true": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/json;odata.metadata=none;odata.streaming=false": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/json;odata.metadata=none": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/json;odata.streaming=true": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/json;odata.streaming=false": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "application/prs.odatatestxx-odata": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.Services.ActionResults.OopsResult"
                }
              }
            }
          }
        }
      }
    },
    "/api/sso/saml2": {
      "get": {
        "tags": [
          "Sso"
        ],
        "summary": "Entry point for SAML2 SSO authentication.  If the OID is registered in the system, should redirect  the user to the registered IDP for authentication.",
        "operationId": "AuthenticateViaSaml2",
        "parameters": [
          {
            "name": "oid",
            "in": "query",
            "description": "The object id of the SSO client.  For example, if the SSO client hits https://foo.erpmaestro.com/sso,              the oid would be \"foo\".",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "redirectUrl",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "post": {
        "tags": [
          "Sso"
        ],
        "summary": "Creates a reference to an external identity provider for the SAML2 protocol.  Only one external  identity provider can be used per customer.",
        "operationId": "CreateSaml2IdentityProvider",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json;odata.metadata=minimal;odata.streaming=true": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/json;odata.metadata=minimal;odata.streaming=false": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/json;odata.metadata=minimal": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/json;odata.metadata=full;odata.streaming=true": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/json;odata.metadata=full;odata.streaming=false": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/json;odata.metadata=full": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/json;odata.metadata=none;odata.streaming=true": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/json;odata.metadata=none;odata.streaming=false": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/json;odata.metadata=none": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/json;odata.streaming=true": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/json;odata.streaming=false": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "application/prs.odatatestxx-odata": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "text/plain": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "text/json": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Sso"
        ],
        "summary": "Modify/ update a previously registered SAML2 SSO IDP.",
        "operationId": "ModifySaml2IdentityProvider",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/sso/{idpId}": {
      "delete": {
        "tags": [
          "Sso"
        ],
        "summary": "Permanently removes a registered SAML2 SSO IDP.  This should only be used when changing the IDP  for the customer to something else, otherwise disable the IDP via M:ErpMaestro.AuthenticationServices.Controllers.SsoController.ModifySaml2IdentityProvider(ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel).",
        "operationId": "DeleteSsoIdp",
        "parameters": [
          {
            "name": "idpId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/sso/users": {
      "post": {
        "tags": [
          "Sso"
        ],
        "summary": "Associates a user with a customer's IDP and allows the claim type to be  specified or updates a previous association.  Tenancy checking is NOT performed  in the authentication service; this should be done before the service calls the endpoint.",
        "operationId": "AddUserToSso",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/sso/users/{userId}/customers/{customerId}": {
      "delete": {
        "tags": [
          "Sso"
        ],
        "summary": "Removes an association of an SSO user from a customer.",
        "operationId": "RemoveUserFromSso",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "customerId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/system/register": {
      "post": {
        "tags": [
          "System"
        ],
        "summary": "Allows a system admin to register a previously non-existent user with a new account.  Mainly used for ARM free trials.",
        "operationId": "RegisterUser",
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/system/confirm": {
      "patch": {
        "tags": [
          "System"
        ],
        "summary": "Allows a system admin to confirm a user's email.",
        "operationId": "ConfirmEmail",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/system/emhub/onboardUser": {
      "post": {
        "tags": [
          "System"
        ],
        "summary": "Adds EmHub user information to Auth Service.",
        "operationId": "OnboardEmhubUser",
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/api/system/emhub/updateUser": {
      "post": {
        "tags": [
          "System"
        ],
        "summary": "Updates user information from EmHub.",
        "operationId": "UpdateEmhubUser",
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/api/system/emhub/changePassword": {
      "post": {
        "tags": [
          "System"
        ],
        "summary": "Updates user password by information from EmHub.",
        "operationId": "ChangeEmhubUserPassword",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/systemSettings/getAccountId/{customerId}": {
      "get": {
        "tags": [
          "SystemSettings"
        ],
        "summary": "Returns legacy account identifier by provided customer identifier",
        "operationId": "GetLegacyAccountIdByCustomerId",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "Unique customer identifier",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/systemSettings/getCustomerId/{accountId}": {
      "get": {
        "tags": [
          "SystemSettings"
        ],
        "summary": "Gets identifier of customer by its legacy ID.",
        "operationId": "GetCustomerIdByAccountId",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "Legacy account ID.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/tenancyCheck/user/{userId}": {
      "post": {
        "tags": [
          "TenancyCheck"
        ],
        "summary": "Determines if user belongs to any of specified customers.",
        "operationId": "DoesUserBelongToAnyOfCustomers",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Identifier of the user.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/json": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/xml": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/json-patch+json": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "text/json": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "uniqueItems": false,
                "type": "array",
                "items": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            }
          },
          "description": "Identifiers of customers."
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json;odata.metadata=minimal;odata.streaming=true": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json;odata.metadata=minimal;odata.streaming=false": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json;odata.metadata=minimal": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json;odata.metadata=full;odata.streaming=true": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json;odata.metadata=full;odata.streaming=false": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json;odata.metadata=full": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json;odata.metadata=none;odata.streaming=true": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json;odata.metadata=none;odata.streaming=false": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json;odata.metadata=none": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json;odata.streaming=true": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json;odata.streaming=false": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/prs.odatatestxx-odata": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/users": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "List",
        "parameters": [
          {
            "name": "pageNum",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          },
          {
            "name": "searchTerm",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": ""
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Creates a new user in the system under the specified customer (account).  Note that this does not set a password for the account.  Please see the associated endpoint   for setting a password for a user.",
        "operationId": "Create",
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Identity.IdentityError"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/api/users/setupUser": {
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Confirms the email and sets a user's password.",
        "operationId": "SetupUser",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.SetupUserModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Identity.IdentityError"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/resetPassword": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Requests a password reset.",
        "operationId": "RequestPasswordReset",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resetPasswordUrl",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Identity.IdentityError"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Changes password using Reset token.",
        "operationId": "ResetPassword",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Identity.IdentityError"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/currentUser/changePassword": {
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Changes the password for the current user.",
        "operationId": "ChangeMyPassword",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Identity.IdentityError"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/changeSysJobPassword": {
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Changes the password for the specified sysJob user.",
        "operationId": "ChangeSysJobPasswordHandler",
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Identity.IdentityError"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{userId}": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get a user from the system by id.",
        "operationId": "GetUser",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The unique identifier for the user.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "403": {
            "description": "Forbidden"
          },
          "410": {
            "description": "Client Error"
          }
        },
        "deprecated": true
      },
      "delete": {
        "tags": [
          "User"
        ],
        "summary": "Soft deletes the specified user.",
        "operationId": "SoftDelete",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "The id of the user to be deleted.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "User"
        ],
        "summary": "Updates the metadata of the specified user.",
        "operationId": "Update",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Microsoft.AspNetCore.Identity.IdentityError"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/api/users/{username}/accounts": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Gets the assigned customers for the specified user.",
        "operationId": "GetUserCustomers",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "The username of the user in question.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.UserAccountModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/users/currentuser/accounts": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Gets the assigned customers for the currently logged in user.",
        "operationId": "GetCurrentUserCustomers",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.UserAccountModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/users/currentuser": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Gets the current user.",
        "operationId": "GetCurrentUser",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/currentuser/customer": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Gets the current customers",
        "operationId": "GetCurrentCustomer",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/{customerId}/{userId}": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get a user from the system by id.",
        "operationId": "GetUser",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "The unique identifier for the customer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "The unique identifier for the user.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/users/{username}": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get a user from the system by username.",
        "operationId": "GetByUsername",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "403": {
            "description": "Forbidden"
          },
          "410": {
            "description": "Client Error"
          }
        },
        "deprecated": true
      }
    },
    "/api/users/{customerId}/{username}": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Get a user from the system by username.",
        "operationId": "GetByUsername",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "The unique identifier for the customer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "username",
            "in": "path",
            "description": "The user name.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/accounts/{accountId}/users": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Retrieves a list of users assigned to the specified account.",
        "operationId": "ListByCustomer",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/users/checkisservice/{userId}": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Checks if user is a service user. Mainly serves Gaia to EmHub communication,   to be able to validate the user account is service account while performing sync.",
        "operationId": "IsServiceUser",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Unique user identifier.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "format": "uuid",
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/support/{userId}/updatesysadmin": {
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Updates isSysAdmin permission of provided user.",
        "operationId": "UpdateSysAdminPermissions",
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "description": "Id of the user.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json;odata.metadata=minimal;odata.streaming=true": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/json;odata.metadata=minimal;odata.streaming=false": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/json;odata.metadata=minimal": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=true": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/json;odata.metadata=full;odata.streaming=false": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/json;odata.metadata=full": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=true": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/json;odata.metadata=none;odata.streaming=false": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/json;odata.metadata=none": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/json;odata.streaming=true": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/json;odata.streaming=false": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/json": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/xml": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/prs.odatatestxx-odata": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/json-patch+json": {
              "schema": {
                "type": "boolean"
              }
            },
            "text/json": {
              "schema": {
                "type": "boolean"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "boolean"
              }
            }
          },
          "description": "True/False."
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        }
      }
    },
    "/api/usercustomer/add": {
      "post": {
        "tags": [
          "UserCustomer"
        ],
        "summary": "Adds new relationship between user and customer. Allows change \"IsAdmin\" flag for existing relationship.",
        "operationId": "RelateUserAndCustomer",
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.UserToCustomer"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/usercustomer/update": {
      "post": {
        "tags": [
          "UserCustomer"
        ],
        "summary": "Updates relationship between user and customer.",
        "operationId": "UpdateUserAndCustomer",
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.UserToCustomer"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/usercustomer/remove": {
      "post": {
        "tags": [
          "UserCustomer"
        ],
        "summary": "Removes relationship between user and customer.",
        "operationId": "UnbindUserAndCustomer",
        "requestBody": {
          "$ref": "#/components/requestBodies/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/userPortability/{customerId}/export": {
      "get": {
        "tags": [
          "UserPortability"
        ],
        "summary": "Exports users for specified customer.",
        "operationId": "ExportUsers",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "Identifier of the customer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/userPortability/{customerId}/import": {
      "post": {
        "tags": [
          "UserPortability"
        ],
        "summary": "Schedules new job to import users.",
        "operationId": "ImportUsers",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "Identifier of the customer.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "contentType": {
                    "type": "string"
                  },
                  "contentDisposition": {
                    "type": "string"
                  },
                  "headers": {
                    "type": "object"
                  },
                  "length": {
                    "type": "integer",
                    "format": "int64"
                  },
                  "name": {
                    "type": "string"
                  },
                  "fileName": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json;odata.metadata=minimal;odata.streaming=true": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=minimal;odata.streaming=false": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=minimal": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=full;odata.streaming=true": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=full;odata.streaming=false": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=full": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=none;odata.streaming=true": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=none;odata.streaming=false": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.metadata=none": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.streaming=true": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json;odata.streaming=false": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/json": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/xml": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "application/prs.odatatestxx-odata": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "text/plain": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              },
              "text/json": {
                "schema": {
                  "format": "int32",
                  "type": "integer"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Server Error"
          }
        }
      }
    },
    "/api/customers/{customerId}/userroledetails": {
      "get": {
        "tags": [
          "UserRole"
        ],
        "summary": "Gets Customer to User Roles list",
        "operationId": "GetUserRolesByCustomer",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": false,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.CustomerToUserRoleMappingDetails"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        }
      }
    }
  },
  "components": {
    "requestBodies": {
      "ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel": {
        "content": {
          "application/json;odata.metadata=minimal;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/json;odata.metadata=minimal;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/json;odata.metadata=minimal": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/json;odata.metadata=full": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/json;odata.metadata=none": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/json;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/json;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/prs.odatatestxx-odata": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/json-patch+json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "text/json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          },
          "application/*+json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel"
            }
          }
        }
      },
      "UserExistsUsername": {
        "content": {
          "application/json;odata.metadata=minimal;odata.streaming=true": {
            "schema": {
              "type": "string"
            }
          },
          "application/json;odata.metadata=minimal;odata.streaming=false": {
            "schema": {
              "type": "string"
            }
          },
          "application/json;odata.metadata=minimal": {
            "schema": {
              "type": "string"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=true": {
            "schema": {
              "type": "string"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=false": {
            "schema": {
              "type": "string"
            }
          },
          "application/json;odata.metadata=full": {
            "schema": {
              "type": "string"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=true": {
            "schema": {
              "type": "string"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=false": {
            "schema": {
              "type": "string"
            }
          },
          "application/json;odata.metadata=none": {
            "schema": {
              "type": "string"
            }
          },
          "application/json;odata.streaming=true": {
            "schema": {
              "type": "string"
            }
          },
          "application/json;odata.streaming=false": {
            "schema": {
              "type": "string"
            }
          },
          "application/json": {
            "schema": {
              "type": "string"
            }
          },
          "application/xml": {
            "schema": {
              "type": "string"
            }
          },
          "application/prs.odatatestxx-odata": {
            "schema": {
              "type": "string"
            }
          },
          "application/json-patch+json": {
            "schema": {
              "type": "string"
            }
          },
          "text/json": {
            "schema": {
              "type": "string"
            }
          },
          "application/*+json": {
            "schema": {
              "type": "string"
            }
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Client.Models.UserModel": {
        "content": {
          "application/json;odata.metadata=minimal;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/json;odata.metadata=minimal;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/json;odata.metadata=minimal": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/json;odata.metadata=full": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/json;odata.metadata=none": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/json;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/json;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/prs.odatatestxx-odata": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/json-patch+json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "text/json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          },
          "application/*+json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.UserModel"
            }
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel": {
        "content": {
          "application/json;odata.metadata=minimal;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/json;odata.metadata=minimal;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/json;odata.metadata=minimal": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/json;odata.metadata=full": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/json;odata.metadata=none": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/json;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/json;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/prs.odatatestxx-odata": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/json-patch+json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "text/json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          },
          "application/*+json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel"
            }
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.Auth.LoginModel": {
        "content": {
          "application/json;odata.metadata=minimal;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/json;odata.metadata=minimal;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/json;odata.metadata=minimal": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/json;odata.metadata=full": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/json;odata.metadata=none": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/json;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/json;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/prs.odatatestxx-odata": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/json-patch+json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "text/json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          },
          "application/*+json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Auth.LoginModel"
            }
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.Customer.AccountModel": {
        "content": {
          "application/json;odata.metadata=minimal;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/json;odata.metadata=minimal;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/json;odata.metadata=minimal": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/json;odata.metadata=full": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/json;odata.metadata=none": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/json;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/json;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/prs.odatatestxx-odata": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/json-patch+json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "text/json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          },
          "application/*+json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.Customer.AccountModel"
            }
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel": {
        "content": {
          "application/json;odata.metadata=minimal;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/json;odata.metadata=minimal;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/json;odata.metadata=minimal": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/json;odata.metadata=full;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/json;odata.metadata=full": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/json;odata.metadata=none;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/json;odata.metadata=none": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/json;odata.streaming=true": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/json;odata.streaming=false": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/prs.odatatestxx-odata": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/json-patch+json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "text/json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          },
          "application/*+json": {
            "schema": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel"
            }
          }
        }
      }
    },
    "schemas": {
      "ErpMaestro.AuthenticationServices.Models.Auth.LoginModel": {
        "required": [
          "username",
          "password"
        ],
        "type": "object",
        "properties": {
          "username": {
            "type": "string"
          },
          "password": {
            "format": "password",
            "type": "string"
          },
          "selectedCustomerId": {
            "format": "uuid",
            "type": "string"
          },
          "isEamLogin": {
            "type": "boolean"
          },
          "fromLegacy": {
            "type": "boolean"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Core.Models.AuthenticationResponse": {
        "description": "Response including an authentication token and a refresh token",
        "type": "object",
        "properties": {
          "auth_token": {
            "type": "string"
          },
          "refresh_token": {
            "type": "string"
          }
        }
      },
      "Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry": {
        "type": "object",
        "properties": {
          "rawValue": {
            "type": "object"
          },
          "attemptedValue": {
            "type": "string"
          },
          "errors": {
            "uniqueItems": false,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelError"
            },
            "readOnly": true
          },
          "validationState": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelValidationState"
          },
          "isContainerNode": {
            "type": "boolean",
            "readOnly": true
          },
          "children": {
            "uniqueItems": false,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry"
            },
            "readOnly": true
          }
        }
      },
      "Microsoft.AspNetCore.Mvc.ModelBinding.ModelError": {
        "type": "object",
        "properties": {
          "exception": {
            "type": "object",
            "readOnly": true
          },
          "errorMessage": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "Microsoft.AspNetCore.Mvc.ModelBinding.ModelValidationState": {
        "enum": [
          "unvalidated",
          "invalid",
          "valid",
          "skipped"
        ],
        "type": "string"
      },
      "ErpMaestro.AuthenticationServices.Models.Auth.UsernameLoginModel": {
        "description": "Model used to login only using a username. This should only be used by service accounts.",
        "required": [
          "username"
        ],
        "type": "object",
        "properties": {
          "username": {
            "description": "Username of the user logging in.",
            "type": "string"
          },
          "isEamLogin": {
            "description": "Flag to tell the system whether or not this is an EAM login.",
            "type": "boolean"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.Auth.UserRefreshRequest": {
        "required": [
          "refreshToken",
          "username"
        ],
        "type": "object",
        "properties": {
          "refreshToken": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "selectedCustomerId": {
            "format": "uuid",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Client.RefreshResponse": {
        "description": "Metadata associated with a Refresh Token",
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "loginEndpoint": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.RefreshTokenResponseStatuses"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Client.RefreshTokenResponseStatuses": {
        "enum": [
          "undefined",
          "success",
          "invalid",
          "expired",
          "unreadable",
          "unrecognizedUser"
        ],
        "type": "string"
      },
      "ErpMaestro.AuthenticationServices.Models.Customer.AccountModel": {
        "required": [
          "name",
          "isActive",
          "moduleGracePeriod",
          "minimumUsers",
          "maximumUsers"
        ],
        "type": "object",
        "properties": {
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "authenticationMethod": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.AuthenticationMethods"
          },
          "serializedAuthenticationMetadata": {
            "description": "If ErpMaestro.AuthenticationServices.Models.Customer.AccountModel.AuthenticationMethod is set to ErpMaestro.AuthenticationServices.Core.Models.AuthenticationMethods.OnPremisesCustom, this  property should contain a JSON  document with the metadata necessary to connect to the custom authentication service.  This is ignored if the  ErpMaestro.AuthenticationServices.Models.Customer.AccountModel.AuthenticationMethod  is set to a different value.",
            "type": "string"
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "moduleGracePeriod": {
            "format": "int32",
            "description": "The number of days that the modules for this account may exceed their license expiration before becoming inactive.",
            "type": "integer"
          },
          "minimumUsers": {
            "format": "int32",
            "description": "This is currently not used except to give a floor for licensed users.",
            "type": "integer"
          },
          "maximumUsers": {
            "format": "int32",
            "description": "Maximum users in system to be licensed.  Note: This is not enforced through automated means.",
            "type": "integer"
          },
          "externalId": {
            "description": "A unique external identifier.",
            "type": "string"
          },
          "externalIdType": {
            "description": "A unique external identifier type.",
            "type": "string"
          },
          "accessContextsEnabled": {
            "description": "Determines if Access Context enabled for customer.",
            "type": "boolean"
          },
          "legacyAccountId": {
            "format": "int32",
            "description": "The ErpMaestro legacy account identifier.",
            "type": "integer"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Core.Models.AuthenticationMethods": {
        "enum": [
          "undefined",
          "azureActiveDirectory",
          "nativeMaestro",
          "onPremisesCustom",
          "aDFS"
        ],
        "type": "string"
      },
      "ErpMaestro.AuthenticationServices.Client.Models.CustomerModel": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Core.Models.MaestroCustomer": {
        "required": [
          "name",
          "isActive",
          "moduleGracePeriod",
          "minimumUsers",
          "maximumUsers",
          "isTrialAccount",
          "legacyAccountId",
          "createdUtcTimestamp",
          "lastModifiedUtcTimestamp"
        ],
        "type": "object",
        "properties": {
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "authenticationMethod": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.AuthenticationMethods"
          },
          "serializedAuthenticationMetadata": {
            "type": "string"
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "moduleGracePeriod": {
            "format": "int32",
            "type": "integer"
          },
          "minimumUsers": {
            "format": "int32",
            "type": "integer"
          },
          "maximumUsers": {
            "format": "int32",
            "type": "integer"
          },
          "modules": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.MaestroModule"
            }
          },
          "users": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.UserToCustomer"
            }
          },
          "loginEndpoint": {
            "maxLength": 250,
            "minLength": 0,
            "type": "string"
          },
          "industry": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.Industries"
          },
          "legacyCredentials": {
            "type": "string"
          },
          "isTrialAccount": {
            "type": "boolean"
          },
          "legacyAccountId": {
            "format": "int32",
            "description": "The ErpMaestro legacy account identifier.",
            "type": "integer"
          },
          "externalId": {
            "description": "The external unique identifier for a given entity.  For example, this id would be a match between us and the CRM provider.  (E.g.: SFDC company id - 0011a000003rd4TAAQ)",
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "externalIdType": {
            "description": "The external unique identifier type for the entity id in ExternalId.  (E.g.: SFDC, IBM, Oracle, etc.)",
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "externalIdentityProviderId": {
            "format": "uuid",
            "type": "string"
          },
          "externalIdentityProvider": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.ExternalIdentityProvider"
          },
          "ssoMode": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.SsoMode"
          },
          "accessContextsEnabled": {
            "description": "Determines if Access Context enabled for customer.",
            "type": "boolean"
          },
          "createdUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          },
          "lastModifiedBy": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "lastModifiedUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Core.Models.MaestroModule": {
        "required": [
          "customerId",
          "expires",
          "createdUtcTimestamp",
          "lastModifiedUtcTimestamp"
        ],
        "type": "object",
        "properties": {
          "customerId": {
            "format": "uuid",
            "type": "string"
          },
          "customer": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.MaestroCustomer"
          },
          "module": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.MaestroModules"
          },
          "expires": {
            "format": "date-time",
            "type": "string"
          },
          "createdUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          },
          "lastModifiedBy": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "lastModifiedUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Core.Models.UserToCustomer": {
        "required": [
          "customerId",
          "userId",
          "isAdmin",
          "createdUtcTimestamp",
          "lastModifiedUtcTimestamp"
        ],
        "type": "object",
        "properties": {
          "customerId": {
            "format": "uuid",
            "type": "string"
          },
          "customer": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.MaestroCustomer"
          },
          "userId": {
            "format": "uuid",
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.MaestroUser"
          },
          "isAdmin": {
            "type": "boolean"
          },
          "createdUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          },
          "lastModifiedBy": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "lastModifiedUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          },
          "hasApiAccess": {
            "description": "Serves as a flag that determines if the user-at-customer has api access.",
            "type": "boolean"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Core.Models.Industries": {
        "enum": [
          "undefined",
          "agriculture, Forestry, Fishing and Hunting",
          "mining",
          "utilities",
          "construction",
          "computer and Electronics Manufacturing",
          "other Manufacturing",
          "wholesale",
          "retail",
          "transportation and Warehousing",
          "publishing",
          "software",
          "telecommunications",
          "broadcasting",
          "information Services and Data Processing",
          "other Information Industry",
          "finance and Insurance",
          "real Estate, Rental and Leasing",
          "college, University, and Adult Education",
          "primary/Secondary (K-12) Education",
          "other Education Industry",
          "health Care and Social Assistance",
          "arts, Entertainment, and Recreation",
          "hotel and Food Services",
          "government and Public Administration",
          "legal Services",
          "scientific or Technical Services",
          "homemaker",
          "military",
          "religious",
          "other Industry"
        ],
        "type": "string"
      },
      "ErpMaestro.AuthenticationServices.Core.Models.ExternalIdentityProvider": {
        "description": "External Identity Providers (IDPs) are used to support Single Signon (SSO) for a customer's enterprise.  In this manner, the customer can manage their own users from their own systems, and we can trust their  systems to authenticate their users properly.",
        "required": [
          "key",
          "entityId",
          "metadata",
          "metadataType",
          "claimType",
          "singleSignOnType",
          "customerId",
          "enabled"
        ],
        "type": "object",
        "properties": {
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "key": {
            "description": "The Key represents a unique identifier that is externally referenced for a specific IDP.  For example, if someone is connecting to https://foo.erpmaestro.com using SSO, the Key  should be \"foo\".",
            "maxLength": 30,
            "minLength": 0,
            "type": "string"
          },
          "entityId": {
            "description": "The unique name the IDP identifies itself as, almost always a URL.",
            "maxLength": 500,
            "minLength": 0,
            "type": "string"
          },
          "metadata": {
            "description": "Metadata contain the contents or link to contents of metadata necessary to properly authenticate  against the external IDP.  If the ErpMaestro.AuthenticationServices.Core.Models.ExternalIdentityProvider.MetadataType is of type ErpMaestro.AuthenticationServices.Client.Models.MetadataType.Url, this  should be a fully-qualified URL pointing to the metadata file.  If it's of type ErpMaestro.AuthenticationServices.Client.Models.MetadataType.Xml,  the contents of this property should contain the XML of the metadata itself.",
            "type": "string"
          },
          "metadataType": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.MetadataType"
          },
          "claimType": {
            "description": "The claim type that can be referenced when trying to match a user to an external IDP source.  Each IDP, upon  authenticating a user, will return a list of claims for that authenticated user.  One or more of them may be  suitable for matching against their username in the authentication service, but only one can be chosen for any  authenticated assertion.",
            "maxLength": 500,
            "minLength": 0,
            "type": "string"
          },
          "singleSignOnType": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.SingleSignOnType"
          },
          "customerId": {
            "format": "uuid",
            "description": "Customer ID for the customer that uses this IDP.",
            "type": "string"
          },
          "customer": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.MaestroCustomer"
          },
          "enabled": {
            "description": "Only enabled IDPs can be used to authenticate.",
            "type": "boolean"
          },
          "createdUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          },
          "lastModifiedBy": {
            "type": "string"
          },
          "lastModifiedUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Core.Models.SsoMode": {
        "enum": [
          "undefined",
          "required",
          "optional",
          "notAllowed"
        ],
        "type": "string"
      },
      "ErpMaestro.AuthenticationServices.Client.MaestroModules": {
        "enum": [
          "undefined",
          "emergencyAccessManagement",
          "secureProvisioning",
          "reporting",
          "financialImpactAnalysis",
          "accessReviews",
          "successFactors",
          "sap"
        ],
        "type": "string"
      },
      "ErpMaestro.AuthenticationServices.Core.Models.MaestroUser": {
        "required": [
          "isActive",
          "isSystem",
          "isService",
          "canImpersonate",
          "canMangageCustomers",
          "tokenGoodForXMinutes",
          "role",
          "isInternalUser",
          "createdUtcTimestamp",
          "lastModifiedUtcTimestamp",
          "isDeleted",
          "preferredLanguage",
          "isSysAdmin"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string"
          },
          "lastName": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string"
          },
          "comments": {
            "maxLength": 250,
            "minLength": 0,
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isSystem": {
            "type": "boolean"
          },
          "isService": {
            "type": "boolean"
          },
          "canImpersonate": {
            "type": "boolean"
          },
          "canMangageCustomers": {
            "type": "boolean"
          },
          "customers": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.UserToCustomer"
            }
          },
          "tokenGoodForXMinutes": {
            "format": "int32",
            "type": "integer"
          },
          "role": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.Roles"
          },
          "title": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "phone": {
            "maxLength": 30,
            "minLength": 0,
            "type": "string"
          },
          "isInternalUser": {
            "type": "boolean"
          },
          "createdUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          },
          "lastModifiedBy": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "lastModifiedUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          },
          "isDeleted": {
            "type": "boolean"
          },
          "preferredLanguage": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string"
          },
          "isSysAdmin": {
            "type": "boolean"
          },
          "isAnyCustomerActive": {
            "type": "boolean",
            "readOnly": true
          },
          "authenticationMethod": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.AuthenticationMethods"
          },
          "loginEndpoint": {
            "type": "string",
            "readOnly": true
          },
          "userSettings": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.MaestroUserSetting"
            }
          },
          "userCustomerSettings": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.UserCustomerSetting"
            }
          },
          "userToIdentityProviders": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.UserToIdentityProvider"
            }
          },
          "isServiceOrSystem": {
            "type": "boolean",
            "readOnly": true
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "userName": {
            "type": "string"
          },
          "normalizedUserName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "normalizedEmail": {
            "type": "string"
          },
          "emailConfirmed": {
            "type": "boolean"
          },
          "passwordHash": {
            "type": "string"
          },
          "securityStamp": {
            "type": "string"
          },
          "concurrencyStamp": {
            "type": "string"
          },
          "phoneNumber": {
            "type": "string"
          },
          "phoneNumberConfirmed": {
            "type": "boolean"
          },
          "twoFactorEnabled": {
            "type": "boolean"
          },
          "lockoutEnd": {
            "format": "date-time",
            "type": "string"
          },
          "lockoutEnabled": {
            "type": "boolean"
          },
          "accessFailedCount": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Client.Models.MetadataType": {
        "enum": [
          "undefined",
          "url",
          "xml"
        ],
        "type": "string"
      },
      "ErpMaestro.AuthenticationServices.Client.Models.SingleSignOnType": {
        "enum": [
          "undefined",
          "saml2",
          "azureActiveDirectory",
          "genericOpenId"
        ],
        "type": "string"
      },
      "ErpMaestro.AuthenticationServices.Core.Models.Roles": {
        "enum": [
          "undefined",
          "iT Security",
          "iT Auditor",
          "iT Manager",
          "chief Information Officer",
          "eRP Security/ Administration",
          "other"
        ],
        "type": "string"
      },
      "ErpMaestro.AuthenticationServices.Core.Models.MaestroUserSetting": {
        "type": "object",
        "properties": {
          "userId": {
            "format": "uuid",
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.MaestroUser"
          },
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "createdUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          },
          "lastModifiedBy": {
            "type": "string"
          },
          "lastModifiedUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Core.Models.UserCustomerSetting": {
        "description": "Represents a user setting that is specific per customer user belongs to",
        "type": "object",
        "properties": {
          "userId": {
            "format": "uuid",
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.MaestroUser"
          },
          "customerId": {
            "format": "uuid",
            "type": "string"
          },
          "customer": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.MaestroCustomer"
          },
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "createdUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          },
          "lastModifiedBy": {
            "type": "string"
          },
          "lastModifiedUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Core.Models.UserToIdentityProvider": {
        "required": [
          "claimValue"
        ],
        "type": "object",
        "properties": {
          "userId": {
            "format": "uuid",
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.MaestroUser"
          },
          "externalIdentityProviderId": {
            "format": "uuid",
            "type": "string"
          },
          "externalIdentityProvider": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.ExternalIdentityProvider"
          },
          "claimValue": {
            "maxLength": 250,
            "minLength": 0,
            "type": "string"
          },
          "createdUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          },
          "lastModifiedBy": {
            "type": "string"
          },
          "lastModifiedUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Client.Models.V2.UserDetailsModel": {
        "description": "Used to display user details including SSO names in the user management UI.",
        "type": "object",
        "properties": {
          "id": {
            "format": "uuid",
            "description": "Represents the user's unique identifier.",
            "type": "string"
          },
          "username": {
            "description": "If left blank, the ErpMaestro.AuthenticationServices.Client.Models.V2.UserDetailsModel.Email property will be used.",
            "type": "string"
          },
          "fullName": {
            "description": "Represents the user's full name.",
            "type": "string"
          },
          "ssoName": {
            "description": "Represents the user's single sign on name.",
            "type": "string"
          },
          "email": {
            "description": "Represents the user's email address.",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Authorization.V2Core.Models.ImpersonationRequestModel": {
        "required": [
          "userNameToImpersonate",
          "reasonForImpersonation",
          "selectedCustomerId"
        ],
        "type": "object",
        "properties": {
          "userNameToImpersonate": {
            "type": "string"
          },
          "tokenShelfLife": {
            "format": "int32",
            "maximum": 900,
            "minimum": 1,
            "type": "integer"
          },
          "reasonForImpersonation": {
            "type": "string"
          },
          "selectedCustomerId": {
            "format": "uuid",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.License.LicenseModel": {
        "description": "Model that represents a license for a customer (account) to use a specific module.",
        "type": "object",
        "properties": {
          "customerId": {
            "format": "uuid",
            "description": "The account Id in the auth/license system.",
            "type": "string"
          },
          "module": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.MaestroModules"
          },
          "expires": {
            "format": "date-time",
            "description": "The expiration date of the licensed module.",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.License.SetLicenseModel": {
        "description": "Model that represents a license for a customer (account) to use a specific module.",
        "type": "object",
        "properties": {
          "module": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.MaestroModules"
          },
          "expires": {
            "format": "date-time",
            "description": "The expiration date of the licensed module.",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.SelfService.UserRegisterModel": {
        "description": "Used to register new system participants.",
        "required": [
          "companyName",
          "industry",
          "companyId",
          "email",
          "firstName",
          "lastName",
          "role",
          "password",
          "minUsers",
          "maxUsers"
        ],
        "type": "object",
        "properties": {
          "companyName": {
            "description": "Name of the company user is registering for",
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "industry": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.Industries"
          },
          "companyId": {
            "description": "The external unique identifier for the company in question.  This id should be a match between us and the CRM provider.  (E.g.: SFDC company id - 0011a000003rd4TAAQ)",
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "companyIdType": {
            "description": "The type of the external unique identifier for the company in question.  (E.g.: SFDC, IBM, Oracle, etc.)",
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "email": {
            "description": "Unique email address of the user",
            "maxLength": 250,
            "minLength": 0,
            "type": "string"
          },
          "firstName": {
            "description": "First (given) name of the user",
            "maxLength": 35,
            "minLength": 0,
            "type": "string"
          },
          "lastName": {
            "description": "Last (family) name of the user",
            "maxLength": 35,
            "minLength": 0,
            "type": "string"
          },
          "role": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.Roles"
          },
          "title": {
            "description": "Optional title of user at the company",
            "maxLength": 250,
            "minLength": 0,
            "type": "string"
          },
          "phone": {
            "description": "Optional phone number of user at the company",
            "maxLength": 30,
            "minLength": 0,
            "type": "string"
          },
          "password": {
            "description": "Password of new account",
            "maxLength": 1000,
            "minLength": 0,
            "type": "string"
          },
          "minUsers": {
            "format": "int32",
            "description": "Minimum number of users in company's system",
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer"
          },
          "maxUsers": {
            "format": "int32",
            "description": "Maximum number of users in company's system",
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.SelfService.SetPasswordModel": {
        "description": "Model used for setting a user's password",
        "required": [
          "newPassword",
          "token"
        ],
        "type": "object",
        "properties": {
          "userName": {
            "description": "UserName",
            "type": "string"
          },
          "userId": {
            "format": "uuid",
            "description": "The user id.",
            "type": "string"
          },
          "newPassword": {
            "description": "The new password to be set",
            "maxLength": 1000,
            "minLength": 0,
            "type": "string"
          },
          "token": {
            "description": "The reset token sent to the user's email address.  The token contains the username.",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.SelfService.ChangePasswordModel": {
        "required": [
          "password",
          "newPassword"
        ],
        "type": "object",
        "properties": {
          "password": {
            "description": "Existing user password",
            "maxLength": 1000,
            "minLength": 0,
            "type": "string"
          },
          "newPassword": {
            "description": "The new password to be set",
            "maxLength": 1000,
            "minLength": 0,
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Core.Exceptions.IdentityException": {
        "type": "object",
        "properties": {
          "result": {
            "$ref": "#/components/schemas/Microsoft.AspNetCore.Identity.IdentityResult"
          },
          "message": {
            "type": "string",
            "readOnly": true
          },
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "object"
            },
            "readOnly": true
          },
          "innerException": {
            "type": "object",
            "readOnly": true
          },
          "stackTrace": {
            "type": "string",
            "readOnly": true
          },
          "helpLink": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "hResult": {
            "format": "int32",
            "type": "integer",
            "readOnly": true
          }
        }
      },
      "Microsoft.AspNetCore.Identity.IdentityResult": {
        "type": "object",
        "properties": {
          "succeeded": {
            "type": "boolean",
            "readOnly": true
          },
          "errors": {
            "uniqueItems": false,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.AspNetCore.Identity.IdentityError"
            },
            "readOnly": true
          }
        }
      },
      "Microsoft.AspNetCore.Identity.IdentityError": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.SelfService.RegisterCoworkerModel": {
        "description": "Metadata required to register a coworker.",
        "required": [
          "firstName",
          "lastName",
          "email",
          "role"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string"
          },
          "lastName": {
            "description": "Last Name",
            "maxLength": 35,
            "minLength": 0,
            "type": "string"
          },
          "email": {
            "description": "Email address",
            "maxLength": 250,
            "minLength": 0,
            "type": "string"
          },
          "title": {
            "description": "Work title/ position (optional)",
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "role": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Core.Models.Roles"
          }
        }
      },
      "Microsoft.AspNetCore.Mvc.FileStreamResult": {
        "type": "object",
        "properties": {
          "fileStream": {
            "$ref": "#/components/schemas/System.IO.Stream"
          },
          "contentType": {
            "type": "string",
            "readOnly": true
          },
          "fileDownloadName": {
            "type": "string"
          },
          "lastModified": {
            "format": "date-time",
            "type": "string"
          },
          "entityTag": {
            "$ref": "#/components/schemas/Microsoft.Net.Http.Headers.EntityTagHeaderValue"
          },
          "enableRangeProcessing": {
            "type": "boolean"
          }
        }
      },
      "System.IO.Stream": {
        "type": "object",
        "properties": {
          "canRead": {
            "type": "boolean",
            "readOnly": true
          },
          "canSeek": {
            "type": "boolean",
            "readOnly": true
          },
          "canTimeout": {
            "type": "boolean",
            "readOnly": true
          },
          "canWrite": {
            "type": "boolean",
            "readOnly": true
          },
          "length": {
            "format": "int64",
            "type": "integer",
            "readOnly": true
          },
          "position": {
            "format": "int64",
            "type": "integer"
          },
          "readTimeout": {
            "format": "int32",
            "type": "integer"
          },
          "writeTimeout": {
            "format": "int32",
            "type": "integer"
          }
        }
      },
      "Microsoft.Net.Http.Headers.EntityTagHeaderValue": {
        "type": "object",
        "properties": {
          "tag": {
            "$ref": "#/components/schemas/Microsoft.Extensions.Primitives.StringSegment"
          },
          "isWeak": {
            "type": "boolean",
            "readOnly": true
          }
        }
      },
      "Microsoft.Extensions.Primitives.StringSegment": {
        "type": "object",
        "properties": {
          "buffer": {
            "type": "string",
            "readOnly": true
          },
          "offset": {
            "format": "int32",
            "type": "integer",
            "readOnly": true
          },
          "length": {
            "format": "int32",
            "type": "integer",
            "readOnly": true
          },
          "value": {
            "type": "string",
            "readOnly": true
          },
          "hasValue": {
            "type": "boolean",
            "readOnly": true
          }
        }
      },
      "ErpMaestro.Services.ActionResults.OopsResult": {
        "type": "object"
      },
      "ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel": {
        "description": "Used to register a SAML2 External Identity Provider (IDP)  for a given customer.",
        "required": [
          "key",
          "entityId",
          "metadata",
          "metadataType",
          "claimType",
          "customerId"
        ],
        "type": "object",
        "properties": {
          "key": {
            "description": "The \"short\" vanity name that can identify the provider.  If the customer were to connect to \"https://foo.erpmaestro.com\" for SSO,  the ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel.Key would be \"foo\".  Must be unique.",
            "maxLength": 30,
            "minLength": 0,
            "type": "string"
          },
          "entityId": {
            "description": "The unique entity id for the remote IDP.  Usually this is in the form of \"https://some.url/some/path\".  Must be unique.",
            "maxLength": 500,
            "minLength": 0,
            "type": "string"
          },
          "metadata": {
            "description": "For SAML2, this contains either an XML metadata document, or a URL that resolves to an XML metadata document.  The contents should be specified by the ErpMaestro.AuthenticationServices.Client.Models.CreateSaml2IdentityProviderModel.MetadataType property.",
            "type": "string"
          },
          "metadataType": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.MetadataType"
          },
          "claimType": {
            "description": "Specifies the claim type that will be matched in the SAML2 response assertion to determine who the response assertion  is meant to authenticate.",
            "maxLength": 500,
            "minLength": 0,
            "type": "string"
          },
          "customerId": {
            "format": "uuid",
            "description": "Relates the external IDP to a specific customer.  Only one IDP can exist per customer, and only one customer can have a  specific IDP.",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel": {
        "description": "Used to modify an existing SAML2 IDP.",
        "required": [
          "identityProviderId",
          "key",
          "entityId",
          "metadata",
          "metadataType",
          "claimType"
        ],
        "type": "object",
        "properties": {
          "identityProviderId": {
            "format": "uuid",
            "description": "The unique id of the IDP.",
            "type": "string"
          },
          "key": {
            "description": "The \"short\" vanity name that can identify the provider.  If the customer were to connect to \"https://foo.erpmaestro.com\" for SSO,  the ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel.Key would be \"foo\".  Must be unique.",
            "maxLength": 30,
            "minLength": 0,
            "type": "string"
          },
          "entityId": {
            "description": "The unique entity id for the remote IDP.  Usually this is in the form of \"https://some.url/some/path\".  Must be unique.",
            "maxLength": 500,
            "minLength": 0,
            "type": "string"
          },
          "metadata": {
            "description": "For SAML2, this contains either an XML metadata document, or a URL that resolves to an XML metadata document.  The contents should be specified by the ErpMaestro.AuthenticationServices.Client.Models.ModifySaml2IdentityProviderModel.MetadataType property.",
            "type": "string"
          },
          "metadataType": {
            "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.Models.MetadataType"
          },
          "claimType": {
            "description": "Specifies the claim type that will be matched in the SAML2 response assertion to determine who the response assertion  is meant to authenticate.",
            "maxLength": 500,
            "minLength": 0,
            "type": "string"
          },
          "isEnabled": {
            "description": "Set to false to disable authentication via this IDP.",
            "type": "boolean"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Client.Models.UserToSsoModel": {
        "description": "Used to create and modify SSO User settings for customer IDPs.  A user can have zero or one associations with any given IDP,  provided he/she is associated with the related customer.",
        "required": [
          "userId",
          "customerId",
          "claimType"
        ],
        "type": "object",
        "properties": {
          "userId": {
            "format": "uuid",
            "type": "string"
          },
          "customerId": {
            "format": "uuid",
            "type": "string"
          },
          "claimType": {
            "maxLength": 512,
            "minLength": 0,
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.SelfService.ArmEmailConfirmationModel": {
        "description": "Used to confirm a new user's email after registration",
        "required": [
          "username",
          "emailConfirmed"
        ],
        "type": "object",
        "properties": {
          "username": {
            "description": "Represents the unique email address of the user.",
            "maxLength": 250,
            "minLength": 0,
            "type": "string"
          },
          "emailConfirmed": {
            "description": "Represents a value indicating whether the user's email has been confirmed.",
            "type": "boolean"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserModel": {
        "required": [
          "email",
          "username"
        ],
        "type": "object",
        "properties": {
          "id": {
            "format": "uuid",
            "description": "Identifier of the user.",
            "type": "string"
          },
          "email": {
            "description": "Represents the user's email address.",
            "type": "string"
          },
          "firstName": {
            "description": "Represents the user's first name.",
            "maxLength": 35,
            "minLength": 0,
            "type": "string"
          },
          "lastName": {
            "description": "Represents the user's last name.",
            "maxLength": 35,
            "minLength": 0,
            "type": "string"
          },
          "username": {
            "description": "Represents the username.",
            "type": "string"
          },
          "erpUserId": {
            "description": "Represents identifier of related ERP user.",
            "maxLength": 255,
            "minLength": 0,
            "type": "string"
          },
          "singleSignOnName": {
            "description": "Represents user name for SSO.",
            "maxLength": 255,
            "minLength": 0,
            "type": "string"
          },
          "isActive": {
            "description": "Is user activated.",
            "type": "boolean"
          },
          "accounts": {
            "description": "User accounts.",
            "uniqueItems": false,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserAccountModel"
            }
          },
          "password": {
            "description": "User's password, required for onboarding.",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubUserAccountModel": {
        "type": "object",
        "properties": {
          "accountId": {
            "format": "int32",
            "type": "integer"
          },
          "accountName": {
            "type": "string"
          },
          "roleNames": {
            "description": "Represents a collection of assigned roles.",
            "uniqueItems": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "features": {
            "uniqueItems": false,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel": {
        "required": [
          "email",
          "newPassword"
        ],
        "type": "object",
        "properties": {
          "email": {
            "description": "Represents the user's email address.",
            "type": "string"
          },
          "username": {
            "description": "If left blank, the ErpMaestro.AuthenticationServices.Client.AuthenticatedClient.EmHub.EmHubChangePasswordModel.Email property will be used.",
            "type": "string"
          },
          "newPassword": {
            "description": "User's password to be set.",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Client.Models.UserModel": {
        "description": "Used to view/create/update users in the system.",
        "required": [
          "email",
          "preferredLanguage",
          "createdUtcTimestamp",
          "lastModifiedUtcTimestamp"
        ],
        "type": "object",
        "properties": {
          "id": {
            "format": "uuid",
            "description": "Represents the user's unique identifier.",
            "type": "string"
          },
          "email": {
            "description": "Represents the user's email address.",
            "type": "string"
          },
          "firstName": {
            "description": "Represents the user's first name.",
            "maxLength": 35,
            "minLength": 0,
            "type": "string"
          },
          "lastName": {
            "description": "Represents the user's last name.",
            "maxLength": 35,
            "minLength": 0,
            "type": "string"
          },
          "username": {
            "description": "If left blank, the ErpMaestro.AuthenticationServices.Client.Models.UserModel.Email property will be used.",
            "type": "string"
          },
          "fullName": {
            "description": "Represents the user's full name.",
            "type": "string"
          },
          "singleSignOnName": {
            "description": "Represents the user's SSO name.",
            "type": "string"
          },
          "identityProviderConfigured": {
            "description": "Determines if identity provider is configured for selected customer.",
            "type": "boolean"
          },
          "roleIds": {
            "description": "Represents a collection of assigned role ids.",
            "uniqueItems": false,
            "type": "array",
            "items": {
              "format": "uuid",
              "type": "string"
            }
          },
          "userSettings": {
            "description": "Represents a collection of user settings.",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "isActive": {
            "description": "Represents a value indicating whether the user is an active user.",
            "type": "boolean"
          },
          "preferredLanguage": {
            "description": "Represents the code of the user's preferred language.",
            "maxLength": 50,
            "type": "string"
          },
          "isService": {
            "description": "Represents a value indicating whether the user is a service user.",
            "type": "boolean"
          },
          "createdUtcTimestamp": {
            "format": "date-time",
            "description": "Represents the date and time the user was created.",
            "type": "string"
          },
          "lastModifiedBy": {
            "description": "Represents the user that last modified the record.",
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          },
          "lastModifiedUtcTimestamp": {
            "format": "date-time",
            "description": "Represents the date and time the user was updated.",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.User.SetupUserModel": {
        "required": [
          "emailConfirmationToken",
          "password"
        ],
        "type": "object",
        "properties": {
          "emailConfirmationToken": {
            "type": "string"
          },
          "userId": {
            "format": "uuid",
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.User.ResetPasswordModel": {
        "required": [
          "resetToken",
          "password"
        ],
        "type": "object",
        "properties": {
          "resetToken": {
            "type": "string"
          },
          "userId": {
            "format": "uuid",
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.User.ChangePasswordModel": {
        "description": "Model containing the necessary parameters to change a user's password.",
        "required": [
          "userId",
          "currentPassword",
          "newPassword"
        ],
        "type": "object",
        "properties": {
          "userId": {
            "format": "uuid",
            "description": "The id of the user.",
            "type": "string"
          },
          "currentPassword": {
            "description": "The current password.",
            "type": "string"
          },
          "newPassword": {
            "description": "The new password.",
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.User.ChangeSysJobPasswordModel": {
        "required": [
          "userName",
          "password"
        ],
        "type": "object",
        "properties": {
          "userName": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.Customer.UserAccountModel": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Models.UserCustomer.UserCustomerModel": {
        "type": "object",
        "properties": {
          "userId": {
            "format": "uuid",
            "description": "The ID of user customer associated with.",
            "type": "string"
          },
          "customerId": {
            "format": "uuid",
            "description": "The ID of customer user associated with.",
            "type": "string"
          },
          "isAdmin": {
            "description": "Determines that user is admin for specified customer. As a result, user can manage other users for the customer.",
            "type": "boolean"
          }
        }
      },
      "ErpMaestro.AuthenticationServices.Core.Models.CustomerToUserRoleMappingDetails": {
        "description": "Represents the relationship between customers, users and user roles.",
        "type": "object",
        "properties": {
          "customerId": {
            "format": "uuid",
            "description": "The unique identifier of the customer.",
            "type": "string"
          },
          "userId": {
            "format": "uuid",
            "description": "The unique identifier of the user.",
            "type": "string"
          },
          "userName": {
            "description": "The user's username",
            "type": "string"
          },
          "roleId": {
            "format": "uuid",
            "description": "The unique identifier of the role.",
            "type": "string"
          },
          "roleName": {
            "description": "Represents the role name.",
            "type": "string"
          },
          "roleDescription": {
            "description": "Represents the role description.",
            "type": "string"
          },
          "roleCreatedUtcTimestamp": {
            "format": "date-time",
            "description": "Represents the date and time the role was created.",
            "type": "string"
          },
          "roleLastModifiedBy": {
            "description": "Represents the user who last modified the role.",
            "type": "string"
          },
          "roleLastModifiedUtcTimestamp": {
            "format": "date-time",
            "description": "Represents the date and time the role was last modified.",
            "type": "string"
          },
          "createdUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          },
          "lastModifiedBy": {
            "type": "string"
          },
          "lastModifiedUtcTimestamp": {
            "format": "date-time",
            "type": "string"
          }
        }
      }
    }
  }
}