json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "type": "object",
      "properties": {
          "email": {
              "type": "string",
              "_format": "email",
              "maxLength": 1024
          },
          "password": {
              "type": "string",
              "minLength": 8,
              "maxLength": 2048
          },
          "twoFactorCode": {
              "type": "string",
              "maxLength": 2048
          },
          "requestedScopes": {
              "type": "array",
              "_uniqueItems": true,
              "items": {
                  "oneOf": [
                      {
                          "oneOf": [
                              {
                                  "type": "string",
                                  "enum": [
                                      "all.Application",
                                      "all.Application.read",
                                      "all.Device",
                                      "all.Device.read",
                                      "application.*",
                                      "applicationApiToken.*",
                                      "applicationApiTokens.*",
                                      "applicationCertificate.*",
                                      "applicationCertificates.*",
                                      "applicationCertificateAuthority.*",
                                      "applicationCertificateAuthorities.*",
                                      "applicationKey.*",
                                      "applicationKeys.*",
                                      "data.*",
                                      "dataTable.*",
                                      "dataTables.*",
                                      "dataTableRow.*",
                                      "dataTableRows.*",
                                      "device.*",
                                      "deviceRecipe.*",
                                      "deviceRecipes.*",
                                      "devices.*",
                                      "edgeDeployments.*",
                                      "event.*",
                                      "events.*",
                                      "experience.*",
                                      "experienceDomain.*",
                                      "experienceDomains.*",
                                      "experienceEndpoint.*",
                                      "experienceEndpoints.*",
                                      "experienceGroup.*",
                                      "experienceGroups.*",
                                      "experienceSlug.*",
                                      "experienceSlugs.*",
                                      "experienceUser.*",
                                      "experienceUsers.*",
                                      "experienceVersion.*",
                                      "experienceVersions.*",
                                      "experienceView.*",
                                      "experienceViews.*",
                                      "integration.*",
                                      "integrations.*",
                                      "file.*",
                                      "files.*",
                                      "flow.*",
                                      "flows.*",
                                      "flowVersion.*",
                                      "flowVersions.*",
                                      "notebook.*",
                                      "notebooks.*",
                                      "webhook.*",
                                      "webhooks.*",
                                      "application.archiveData",
                                      "application.backfillArchiveData",
                                      "application.clone",
                                      "application.export",
                                      "application.import",
                                      "application.fullEventsArchive",
                                      "application.fullDataTablesArchive",
                                      "application.debug",
                                      "application.delete",
                                      "application.get",
                                      "application.mqttPublishMessage",
                                      "application.mqttSubscriptionStream",
                                      "application.patch",
                                      "application.payloadCounts",
                                      "application.search",
                                      "applicationApiToken.delete",
                                      "applicationApiToken.get",
                                      "applicationApiToken.patch",
                                      "applicationApiTokens.get",
                                      "applicationApiTokens.post",
                                      "applicationCertificate.delete",
                                      "applicationCertificate.get",
                                      "applicationCertificate.patch",
                                      "applicationCertificates.get",
                                      "applicationCertificates.post",
                                      "applicationCertificateAuthority.delete",
                                      "applicationCertificateAuthority.get",
                                      "applicationCertificateAuthority.patch",
                                      "applicationCertificateAuthorities.get",
                                      "applicationCertificateAuthorities.post",
                                      "applicationKey.delete",
                                      "applicationKey.get",
                                      "applicationKey.patch",
                                      "applicationKeys.get",
                                      "applicationKeys.post",
                                      "data.export",
                                      "data.lastValueQuery",
                                      "data.timeSeriesQuery",
                                      "dataTable.addColumn",
                                      "dataTable.delete",
                                      "dataTable.get",
                                      "dataTable.patch",
                                      "dataTable.removeColumn",
                                      "dataTableRow.delete",
                                      "dataTableRow.get",
                                      "dataTableRow.patch",
                                      "dataTableRows.get",
                                      "dataTableRows.post",
                                      "dataTableRows.query",
                                      "dataTableRows.export",
                                      "dataTableRows.delete",
                                      "dataTableRows.truncate",
                                      "dataTables.get",
                                      "dataTables.post",
                                      "device.commandStream",
                                      "device.debug",
                                      "device.delete",
                                      "device.export",
                                      "device.get",
                                      "device.getCommand",
                                      "device.getCompositeState",
                                      "device.getLogEntries",
                                      "device.getState",
                                      "device.patch",
                                      "device.removeData",
                                      "device.sendCommand",
                                      "device.sendState",
                                      "device.setConnectionStatus",
                                      "device.stateStream",
                                      "deviceRecipe.bulkCreate",
                                      "deviceRecipe.delete",
                                      "deviceRecipe.get",
                                      "deviceRecipe.patch",
                                      "deviceRecipes.get",
                                      "deviceRecipes.post",
                                      "devices.patch",
                                      "devices.delete",
                                      "devices.removeData",
                                      "devices.detailedSummary",
                                      "devices.export",
                                      "devices.get",
                                      "devices.post",
                                      "devices.sendCommand",
                                      "edgeDeployments.get",
                                      "edgeDeployments.release",
                                      "edgeDeployments.remove",
                                      "edgeDeployments.replace",
                                      "event.delete",
                                      "event.get",
                                      "event.patch",
                                      "events.delete",
                                      "events.get",
                                      "events.mostRecentBySeverity",
                                      "events.patch",
                                      "events.post",
                                      "events.export",
                                      "experience.delete",
                                      "experience.bootstrap",
                                      "experienceDomain.delete",
                                      "experienceDomain.get",
                                      "experienceDomain.patch",
                                      "experienceDomains.get",
                                      "experienceDomains.post",
                                      "experienceEndpoint.delete",
                                      "experienceEndpoint.get",
                                      "experienceEndpoint.linkedResources",
                                      "experienceEndpoint.patch",
                                      "experienceEndpoints.get",
                                      "experienceEndpoints.post",
                                      "experienceEndpoints.stats",
                                      "experienceGroup.delete",
                                      "experienceGroup.get",
                                      "experienceGroup.patch",
                                      "experienceGroups.detailedSummary",
                                      "experienceGroups.get",
                                      "experienceGroups.post",
                                      "experienceSlug.delete",
                                      "experienceSlug.get",
                                      "experienceSlug.patch",
                                      "experienceSlugs.get",
                                      "experienceSlugs.post",
                                      "experienceUser.delete",
                                      "experienceUser.get",
                                      "experienceUser.patch",
                                      "experienceUsers.detailedSummary",
                                      "experienceUsers.get",
                                      "experienceUsers.post",
                                      "experienceVersion.delete",
                                      "experienceVersion.get",
                                      "experienceVersion.patch",
                                      "experienceVersions.get",
                                      "experienceVersions.post",
                                      "experienceView.debug",
                                      "experienceView.delete",
                                      "experienceView.get",
                                      "experienceView.linkedResources",
                                      "experienceView.patch",
                                      "experienceViews.debug",
                                      "experienceViews.detailedSummary",
                                      "experienceViews.get",
                                      "experienceViews.post",
                                      "file.get",
                                      "file.patch",
                                      "file.move",
                                      "file.delete",
                                      "file.upload",
                                      "files.get",
                                      "files.post",
                                      "flow.debug",
                                      "flow.delete",
                                      "flow.clearStorageEntries",
                                      "flow.get",
                                      "flow.getStorageEntries",
                                      "flow.log",
                                      "flow.patch",
                                      "flow.pressVirtualButton",
                                      "flow.setStorageEntry",
                                      "flows.get",
                                      "flows.getByVersion",
                                      "flows.import",
                                      "flows.post",
                                      "flowVersion.delete",
                                      "flowVersion.get",
                                      "flowVersion.log",
                                      "flowVersion.patch",
                                      "flowVersions.get",
                                      "flowVersions.post",
                                      "integration.delete",
                                      "integration.get",
                                      "integration.patch",
                                      "integrations.get",
                                      "integrations.post",
                                      "notebook.delete",
                                      "notebook.execute",
                                      "notebook.get",
                                      "notebook.logs",
                                      "notebook.patch",
                                      "notebook.requestInputDataExport",
                                      "notebook.upload",
                                      "notebooks.get",
                                      "notebooks.post",
                                      "webhook.delete",
                                      "webhook.get",
                                      "webhook.patch",
                                      "webhooks.get",
                                      "webhooks.post"
                                  ]
                              },
                              {
                                  "type": "string",
                                  "enum": [
                                      "all.Organization",
                                      "all.Organization.read",
                                      "applications.*",
                                      "auditLog.*",
                                      "auditLogs.*",
                                      "dashboard.*",
                                      "dashboards.*",
                                      "org.*",
                                      "applications.get",
                                      "applications.post",
                                      "applications.import",
                                      "applications.detailedSummary",
                                      "auditLog.get",
                                      "auditLogs.get",
                                      "dashboard.patch",
                                      "dashboard.delete",
                                      "dashboard.sendReport",
                                      "dashboards.get",
                                      "dashboards.post",
                                      "org.get",
                                      "org.patch",
                                      "org.delete",
                                      "org.pendingInvites",
                                      "org.inviteMember",
                                      "org.revokeInvite",
                                      "org.modifyMember",
                                      "org.removeMember",
                                      "org.payloadCounts",
                                      "org.invoices",
                                      "org.currentCard",
                                      "org.chargeDetails",
                                      "org.transferResources"
                                  ]
                              }
                          ]
                      },
                      {
                          "type": "string",
                          "enum": [
                              "all.User",
                              "all.User.read",
                              "applicationTemplates.*",
                              "applicationTemplates.get",
                              "me.*",
                              "orgs.*",
                              "me.get",
                              "me.patch",
                              "me.delete",
                              "me.verifyEmail",
                              "me.changePassword",
                              "me.enableTwoFactorAuth",
                              "me.disableTwoFactorAuth",
                              "me.disconnectGithub",
                              "me.connectGithub",
                              "me.disconnectTwitter",
                              "me.connectTwitter",
                              "me.addRecentItem",
                              "me.fetchRecentItems",
                              "me.payloadCounts",
                              "me.transferResources",
                              "orgs.get",
                              "orgs.post"
                          ]
                      }
                  ]
              }
          },
          "tokenTTL": {
              "type": "integer",
              "minimum": 0
          }
      },
      "required": [
          "email",
          "password"
      ],
      "additionalProperties": false
  }
  