{
  "openapi": "3.0.1",
  "info": {
    "title": "Directory",
    "description": "Working draft of the Konexus Public User directory API.</p><p>This API will be used to allow citizens to create and manage their UserProfiles including contact information and notification preferences. UserProfiles are allowed to contain multiple Emails, Phones, and Locations.</p><p>Weather Notification subscriptions are currently missing from the specification.",
    "contact": {
      "name": "Konexus Engineering Team",
      "url": "https://bitbucket.org/AlertSense/platform-api-docs/src/dev/",
      "email": "dev@konexus.com"
    },
    "version": "4.2.2"
  },
  "paths": {
    "/{tenantId}/directory/{directoryId}/groups/discover": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "Retrieves a list of Nested Public Groups for the targeted Tenant. These Groups can be joined if the current user has a UserProfile in the targeted Tenant.",
        "operationId": "Groups_DiscoverAvailableGroups",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupSummaryPagedApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/groups/find": {
      "post": {
        "tags": [
          "Groups"
        ],
        "summary": "Finds groups that match the query conditions.",
        "operationId": "Groups_FindGroups",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FindGroupQuery"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindGroupQuery"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FindGroupQuery"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FindGroupQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupSummaryPagedApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/groups/{groupId}/members": {
      "post": {
        "tags": [
          "Groups"
        ],
        "operationId": "Groups_GetGroupMembership",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chatEnabled",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserProfileSummaryPagedApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/meta/languages": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": "Returns the Languages supported by the platform for Written and Spoken translation.",
        "operationId": "Meta_GetLanguages",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailableLanguagesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/meta/timezones": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": "Returns the timezones supported in the system.",
        "operationId": "Meta_GetTimeZones",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AvailableTimeZonesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/meta/weather/categories": {
      "get": {
        "tags": [
          "Meta"
        ],
        "summary": "Retrieve supported weather categories.",
        "operationId": "Meta_GetWeatherCategories",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WeatherCategoriesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/testing/verifications/email": {
      "get": {
        "tags": [
          "Test"
        ],
        "operationId": "Test_GetPendingEmailVerifications",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "emailAddress",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PendingVerificationAttempt"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/testing/verifications/phone": {
      "get": {
        "tags": [
          "Test"
        ],
        "operationId": "Test_GetPendingPhoneVerifications",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phoneNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PendingVerificationAttempt"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Create a new UserProfile in the targeted Tenant and Directory",
        "operationId": "Users_Create",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserProfileCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserProfileCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserProfileCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUserProfileCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserProfile"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}": {
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Delete a UserProfile associated with a specific Tenant and Directory by the User's Identifier.",
        "operationId": "Users_Delete",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      },
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Retrieve a UserProfile that belongs to a specific Tenant and Directory by the User's Identifier.",
        "operationId": "Users_GetById",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserProfile"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      },
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Modify the base information of the targeted UserProfile.",
        "operationId": "Users_Update",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserProfileCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserProfileCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserProfileCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserProfileCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/externalId": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Associate a new ExternalId to an existing user that belongs to a specific Tenant and Directory by the User's Identifier.",
        "operationId": "Users_CreateExternalId",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExternalIdCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExternalIdCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExternalIdCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateExternalIdCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/contact": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Retrieve a UserProfile that belongs to a specific Tenant and Directory by the User's Identifier.",
        "operationId": "Users_GetContactInformationById",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactInformation"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/notifications": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Retrieve a UserProfile that belongs to a specific Tenant and Directory by the User's Identifier.",
        "operationId": "Users_GetNotificationPreferencesById",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotificationPreferencesSummary"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/query": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Retrieve a UserProfile that belongs to a specific Tenant and Directory by the User's Identifier.",
        "operationId": "Users_FindUsersByQuery",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/FindUserQuery"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FindUserQuery"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/FindUserQuery"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/FindUserQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserProfileSummaryPagedApiResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/contact/emails/{emailAddress}": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Retrieves details of a specific Email addresses for the targeted UserProfile.",
        "operationId": "Users_GetEmail",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "emailAddress",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailAddress"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Removes an email from the targeted UserProfile.",
        "operationId": "Users_RemoveEmail",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "emailAddress",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/contact/emails": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Create a new email to the target UserProfile if the existing email address doesn't already exist.",
        "operationId": "Users_CreateNewEmail",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEmailCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEmailCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEmailCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEmailCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailAddress"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/contact/emails/{emailAddress}/verification/nonce": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Reserve a client generated Nonce to trigger the Verification Code process. Returns 429 if too many requests have been requested in the allowed time.",
        "operationId": "Users_CreateEmailVerificationNonce",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "emailAddress",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationNonceCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationNonceCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationNonceCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationNonceCommand"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResendVerificationToken"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/contact/emails/{emailAddress}/verification/resend": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Send a new verification Email Address to the targeted Email. Requires a VerificationNonce to prevent excessive sending of emails to the targeted Email Address.",
        "operationId": "Users_ResendEmailVerification",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "emailAddress",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SendVerificationCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendVerificationCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SendVerificationCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SendVerificationCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/contact/emails/{emailAddress}/verification/verify": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Compares the last verification code sent through Email to and changes the verification status of the targeted Email Address.",
        "operationId": "Users_VerifyEmail",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "emailAddress",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyEmailCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyEmailCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyEmailCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyEmailCommand"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/contact/phones/{phoneNumber}": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Retrieves details of a specific Phone Number for the targeted UserProfile.",
        "operationId": "Users_GetPhone",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phoneNumber",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhoneNumber"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Removes an Phone Number from the targeted UserProfile.",
        "operationId": "Users_RemovePhone",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phoneNumber",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/contact/phones": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Create a new phone number on the target UserProfile if the existing phone number doesn't already exist.",
        "operationId": "Users_CreateNewPhone",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePhoneCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePhoneCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePhoneCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePhoneCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PhoneNumber"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/contact/phones/{phoneNumber}/verification/nonce": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Retrieve a ResendVerificationToken to trigger the Verification Code process. Returns 429 if too many ResendVerificationTokens have been requested in the allowed time.",
        "operationId": "Users_CreatePhoneVerificationNonce",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phoneNumber",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationNonceCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationNonceCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationNonceCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVerificationNonceCommand"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResendVerificationToken"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/contact/phones/{phoneNumber}/verification/resend": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Send a new verification code to the targeted Phone Number through SMS. Requires a VerificationNonce to prevent excessive messaging of SMS messages to the targeted Phone Number.",
        "operationId": "Users_ResendPhoneVerification",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phoneNumber",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SendVerificationCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendVerificationCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SendVerificationCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SendVerificationCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/contact/phones/{phoneNumber}/verification/verify": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Compares the last verification code sent through SMS to and changes the verification status of the targeted Phone Number.",
        "operationId": "Users_VerifyPhone",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phoneNumber",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyPhoneCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyPhoneCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyPhoneCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyPhoneCommand"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerificationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/notifications/memberships": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Add the targeted UserProfile as a member of the targeted Group. Allows the targeted UserProfile to receive notifications sent to the targeted Group",
        "operationId": "Users_CreateGroupMembership",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "string"
              }
            },
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/json": {
              "schema": {
                "type": "string"
              }
            },
            "application/*+json": {
              "schema": {
                "type": "string"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/notifications/memberships/{groupId}": {
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Removes the targeted UserProfile as a Member from the targeted Group. This prevents the targeted UserProfile from receiving notifications sent to the targeted Group.",
        "operationId": "Users_RemoveGroupMembership",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "groupId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/notifications/locations/{locationId}": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Retrieves details of a specific Location for the targeted UserProfile.",
        "operationId": "Users_GetLocation",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Location"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Remove an existing Location from the targeted UserProfile.",
        "operationId": "Users_RemoveLocation",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "locationId",
            "in": "path",
            "description": "Id of the specific location to remove.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/notifications/locations": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Create a new Location for the targeted UserProfile.",
        "operationId": "Users_CreateNewLocation",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLocationCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLocationCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLocationCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLocationCommand"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    },
    "/{tenantId}/directory/{directoryId}/users/{userId}/notifications/weather": {
      "get": {
        "tags": [
          "Users"
        ],
        "operationId": "Users_GetWeatherNotifications",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WeatherNotificationCollection"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "Users"
        ],
        "operationId": "Users_AddWeatherNotifications",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/AddWeatherNotificationsCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddWeatherNotificationsCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/AddWeatherNotificationsCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/AddWeatherNotificationsCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "operationId": "Users_RemoveWeatherNotifications",
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "directoryId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveWeatherNotificationsCommand"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveWeatherNotificationsCommand"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveWeatherNotificationsCommand"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveWeatherNotificationsCommand"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "Oauth2Scheme": [
              "tamarack",
              "content"
            ],
            "JwtBearerTokenScheme": [ ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AddWeatherNotificationsCommand": {
        "required": [
          "notifications"
        ],
        "type": "object",
        "properties": {
          "notifications": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WeatherNotificationCommand"
            }
          }
        },
        "additionalProperties": false
      },
      "Address": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/AddressType"
          },
          "formatted": {
            "type": "string",
            "nullable": true
          },
          "streetAddress": {
            "type": "string",
            "nullable": true
          },
          "locality": {
            "type": "string",
            "nullable": true
          },
          "region": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AddressType": {
        "enum": [
          "Home",
          "Work",
          "Other"
        ],
        "type": "string"
      },
      "AvailableLanguagesResponse": {
        "type": "object",
        "properties": {
          "writtenLanguages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LanguageCode"
            },
            "nullable": true
          },
          "spokenLanguages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LanguageCode"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AvailableTimeZonesResponse": {
        "type": "object",
        "properties": {
          "timeZones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TimeZoneSummary"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BadRequestErrorMessage": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "exception": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BadRequestResponse": {
        "type": "object",
        "properties": {
          "errorMessages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BadRequestErrorMessage"
            },
            "nullable": true
          },
          "isValidationError": {
            "type": "boolean"
          },
          "validationErrors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationFailure"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContactInformation": {
        "type": "object",
        "properties": {
          "emails": {
            "$ref": "#/components/schemas/EmailCollection"
          },
          "phones": {
            "$ref": "#/components/schemas/PhoneCollection"
          },
          "mobileApps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MobileApp"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ContactTargetType": {
        "enum": [
          "Personal",
          "Work"
        ],
        "type": "string"
      },
      "CreateEmailCommand": {
        "required": [
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ContactTargetType"
          },
          "primary": {
            "type": "boolean"
          },
          "value": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateExternalIdCommand": {
        "required": [
          "externalId"
        ],
        "type": "object",
        "properties": {
          "externalId": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateGroupMembership": {
        "required": [
          "groupId"
        ],
        "type": "object",
        "properties": {
          "groupId": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateLocationCommand": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "minLength": 1,
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/AddressType"
          },
          "streetAddress": {
            "type": "string",
            "nullable": true
          },
          "locality": {
            "type": "string",
            "nullable": true
          },
          "region": {
            "type": "string",
            "nullable": true
          },
          "postalCode": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreatePhoneCommand": {
        "required": [
          "mobilePhone",
          "primary",
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ContactTargetType"
          },
          "value": {
            "minLength": 1,
            "type": "string",
            "format": "tel"
          },
          "primary": {
            "type": "boolean"
          },
          "mobilePhone": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CreateUserProfileCommand": {
        "required": [
          "firstName",
          "lastName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "minLength": 1,
            "type": "string"
          },
          "lastName": {
            "minLength": 1,
            "type": "string"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "preferredWrittenLanguage": {
            "type": "string",
            "nullable": true
          },
          "preferredSpokenLanguage": {
            "type": "string",
            "nullable": true
          },
          "locale": {
            "type": "string",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "emails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateEmailCommand"
            },
            "nullable": true
          },
          "phones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreatePhoneCommand"
            },
            "nullable": true
          },
          "locations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateLocationCommand"
            },
            "nullable": true
          },
          "memberships": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateGroupMembership"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateVerificationNonceCommand": {
        "required": [
          "nonce"
        ],
        "type": "object",
        "properties": {
          "nonce": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "EmailAddress": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ContactTargetType"
          },
          "primary": {
            "type": "boolean"
          },
          "display": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "verification": {
            "$ref": "#/components/schemas/VerificationStatus"
          }
        },
        "additionalProperties": false
      },
      "EmailCollection": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmailAddress"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "FindGroupQuery": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "FindUserQuery": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GeoLocation": {
        "type": "object",
        "properties": {
          "latitude": {
            "type": "number",
            "format": "double"
          },
          "longitude": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "GroupMemberships": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupReference"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "count": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "isReadOnly": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GroupReference": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "uri": {
            "type": "string",
            "format": "uri",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GroupReferencePagedApiResponse": {
        "type": "object",
        "properties": {
          "totalItemCount": {
            "type": "integer",
            "format": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupReference"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GroupSummary": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "selfService": {
            "$ref": "#/components/schemas/SelfServiceSettings"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupSummary"
            },
            "nullable": true
          },
          "isJoinable": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GroupSummaryPagedApiResponse": {
        "type": "object",
        "properties": {
          "totalItemCount": {
            "type": "integer",
            "format": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupSummary"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LanguageCode": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Location": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "primary": {
            "type": "boolean"
          },
          "address": {
            "$ref": "#/components/schemas/Address"
          },
          "geoLocation": {
            "$ref": "#/components/schemas/GeoLocation"
          }
        },
        "additionalProperties": false
      },
      "LocationCollection": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Location"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "LocationPagedApiResponse": {
        "type": "object",
        "properties": {
          "totalItemCount": {
            "type": "integer",
            "format": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Location"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MobileApp": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "deviceType": {
            "type": "string",
            "nullable": true
          },
          "applicationId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NotificationPreferences": {
        "type": "object",
        "properties": {
          "locations": {
            "$ref": "#/components/schemas/LocationCollection"
          },
          "memberships": {
            "$ref": "#/components/schemas/GroupMemberships"
          },
          "preferredWrittenLanguage": {
            "type": "string",
            "nullable": true
          },
          "preferredSpokenLanguage": {
            "type": "string",
            "nullable": true
          },
          "locale": {
            "type": "string",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NotificationPreferencesSummary": {
        "type": "object",
        "properties": {
          "locations": {
            "$ref": "#/components/schemas/LocationPagedApiResponse"
          },
          "memberships": {
            "$ref": "#/components/schemas/GroupReferencePagedApiResponse"
          },
          "preferredWrittenLanguage": {
            "type": "string",
            "nullable": true
          },
          "preferredSpokenLanguage": {
            "type": "string",
            "nullable": true
          },
          "locale": {
            "type": "string",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PendingDeviceType": {
        "enum": [
          "Phone",
          "Email"
        ],
        "type": "string"
      },
      "PendingVerificationAttempt": {
        "type": "object",
        "properties": {
          "device": {
            "type": "string",
            "nullable": true
          },
          "verificationCode": {
            "type": "string",
            "nullable": true
          },
          "deviceType": {
            "$ref": "#/components/schemas/PendingDeviceType"
          },
          "displayMessage": {
            "type": "string",
            "nullable": true
          },
          "dateAttempted": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PersonName": {
        "type": "object",
        "properties": {
          "formatted": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "familyName": {
            "type": "string",
            "nullable": true
          },
          "givenName": {
            "type": "string",
            "nullable": true
          },
          "middleName": {
            "type": "string",
            "nullable": true
          },
          "honorificPrefix": {
            "type": "string",
            "nullable": true
          },
          "honorificSuffix": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PhoneCollection": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhoneNumber"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "PhoneNumber": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ContactTargetType"
          },
          "primary": {
            "type": "boolean"
          },
          "display": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "value": {
            "type": "string",
            "nullable": true
          },
          "verification": {
            "$ref": "#/components/schemas/VerificationStatus"
          },
          "deviceType": {
            "$ref": "#/components/schemas/PhoneType"
          }
        },
        "additionalProperties": false
      },
      "PhoneType": {
        "enum": [
          "Unknown",
          "Mobile",
          "Landline"
        ],
        "type": "string"
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "Reference": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "uri": {
            "type": "string",
            "format": "uri",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RemoveWeatherNotificationsCommand": {
        "required": [
          "notifications"
        ],
        "type": "object",
        "properties": {
          "notifications": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WeatherNotificationCommand"
            }
          }
        },
        "additionalProperties": false
      },
      "ResendVerificationToken": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SelfServiceSettings": {
        "type": "object",
        "properties": {
          "default": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SendVerificationCommand": {
        "required": [
          "verificationNonce"
        ],
        "type": "object",
        "properties": {
          "verificationNonce": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "TimeZoneSummary": {
        "type": "object",
        "properties": {
          "standardName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "id": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "displayName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "daylightName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "baseUtcOffset": {
            "type": "string",
            "format": "date-span",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "UpdateUserProfileCommand": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "preferredWrittenLanguage": {
            "type": "string",
            "nullable": true
          },
          "preferredSpokenLanguage": {
            "type": "string",
            "nullable": true
          },
          "locale": {
            "type": "string",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserProfile": {
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "nullable": true
          },
          "directories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "$ref": "#/components/schemas/PersonName"
          },
          "contactInformation": {
            "$ref": "#/components/schemas/ContactInformation"
          },
          "notificationPreferences": {
            "$ref": "#/components/schemas/NotificationPreferences"
          }
        },
        "additionalProperties": false
      },
      "UserProfileSummary": {
        "type": "object",
        "properties": {
          "profile": {
            "$ref": "#/components/schemas/Reference"
          },
          "tenant": {
            "$ref": "#/components/schemas/Reference"
          },
          "directory": {
            "$ref": "#/components/schemas/Reference"
          }
        },
        "additionalProperties": false
      },
      "UserProfileSummaryPagedApiResponse": {
        "type": "object",
        "properties": {
          "totalItemCount": {
            "type": "integer",
            "format": "int64"
          },
          "page": {
            "type": "integer",
            "format": "int32"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserProfileSummary"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ValidationFailure": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "errorCode": {
            "type": "string",
            "nullable": true
          },
          "errorMessage": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VerificationAttempt": {
        "type": "object",
        "properties": {
          "displayMessage": {
            "type": "string",
            "nullable": true
          },
          "dateAttempted": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VerificationResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VerificationStatus": {
        "type": "object",
        "properties": {
          "verified": {
            "type": "boolean"
          },
          "lastVerificationAttempt": {
            "$ref": "#/components/schemas/VerificationAttempt"
          },
          "verificationDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VerifyEmailCommand": {
        "required": [
          "verificationCode"
        ],
        "type": "object",
        "properties": {
          "verificationCode": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "VerifyPhoneCommand": {
        "required": [
          "verificationCode"
        ],
        "type": "object",
        "properties": {
          "verificationCode": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "WeatherCategoriesResponse": {
        "type": "object",
        "properties": {
          "categories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WeatherCategoryInformation"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WeatherCategoryInformation": {
        "type": "object",
        "properties": {
          "categoryId": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "supportedChannels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WeatherChannel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WeatherChannel": {
        "enum": [
          "TextEmail",
          "VoiceHome",
          "VoiceCell"
        ],
        "type": "string"
      },
      "WeatherNotification": {
        "type": "object",
        "properties": {
          "categoryId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "channels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WeatherChannel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WeatherNotificationCollection": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WeatherNotification"
            },
            "nullable": true
          },
          "totalCount": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "WeatherNotificationCommand": {
        "required": [
          "categoryId",
          "channels"
        ],
        "type": "object",
        "properties": {
          "categoryId": {
            "minLength": 1,
            "type": "string"
          },
          "channels": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WeatherChannel"
            }
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Oauth2Scheme": {
        "type": "oauth2",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://auth.alertsense.com/connect/authorize",
            "scopes": {
              "tamarack": "Hickory",
              "content": "ExternalID",
              "elm": "GIS",
              "directory:public": "Public User Directory Access"
            }
          },
          "clientCredentials": {
            "tokenUrl": "https://auth.alertsense.com/connect/token",
            "scopes": {
              "tamarack": "Hickory",
              "content": "ExternalID",
              "elm": "GIS",
              "directory:public": "Public User Directory Access"
            }
          }
        }
      },
      "JwtBearerTokenScheme": {
        "type": "apiKey",
        "description": "JWT Authorization header using the Bearer scheme. \r\n\r\n Enter 'Bearer' [space] and then your token in the text input below.\r\n\r\nExample: \"Bearer 12345abcdef\"",
        "name": "Authorization",
        "in": "header"
      }
    }
  }
}