{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "email": { "type": "string", "format": "email", "maxLength": 1024 }, "firstName": { "type": "string", "minLength": 1, "maxLength": 1024 }, "lastName": { "type": "string", "minLength": 1, "maxLength": 1024 }, "companyName": { "type": "string", "maxLength": 1024 }, "title": { "type": "string", "maxLength": 1024 }, "phoneNumber": { "type": "string", "maxLength": 1024 }, "location": { "type": "string", "maxLength": 1024 }, "url": { "type": "string", "maxLength": 1024 }, "oauth": { "type": "object", "properties": { "service": { "type": "string" }, "accessToken": { "type": "string" } }, "required": [ "service", "accessToken" ] }, "password": { "type": "string", "minLength": 8, "maxLength": 2048, "pattern": "^(?=.*[A-Z])(?=.*[^A-z0-9])(?=.*[0-9])(?=.*[a-z]).{8,}$" }, "acceptTerms": { "enum": [ "on" ] }, "hsToken": { "type": "string", "maxLength": 1024 }, "iotJourneyStage": { "type": "string", "maxLength": 1024 }, "requestedScopes": { "type": "array", "uniqueItems": true, "items": { "oneOf": [ { "oneOf": [ { "type": "string", "enum": [ "all.Application", "all.Application.read", "all.Device", "all.Device.read", "application.*", "applicationApiToken.*", "applicationApiTokens.*", "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.*", "webhook.*", "webhooks.*", "application.archiveData", "application.backfillArchiveData", "application.debug", "application.delete", "application.get", "application.mqttPublishMessage", "application.mqttSubscriptionStream", "application.patch", "application.payloadCounts", "applicationApiToken.delete", "applicationApiToken.get", "applicationApiToken.patch", "applicationApiTokens.get", "applicationApiTokens.post", "applicationKey.delete", "applicationKey.get", "applicationKey.patch", "applicationKeys.get", "applicationKeys.post", "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.detailedSummary", "devices.export", "devices.get", "devices.post", "devices.sendCommand", "edgeDeployments.get", "edgeDeployments.release", "edgeDeployments.remove", "edgeDeployments.replace", "event.delete", "event.get", "event.patch", "events.get", "events.mostRecentBySeverity", "events.patch", "events.post", "experience.delete", "experience.bootstrap", "experienceDomain.delete", "experienceDomain.get", "experienceDomain.patch", "experienceDomains.get", "experienceDomains.post", "experienceEndpoint.delete", "experienceEndpoint.get", "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.patch", "experienceViews.debug", "experienceViews.detailedSummary", "experienceViews.get", "experienceViews.post", "file.get", "file.patch", "file.move", "file.delete", "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", "webhook.delete", "webhook.get", "webhook.patch", "webhooks.get", "webhooks.post" ] }, { "type": "string", "enum": [ "all.Organization", "all.Organization.read", "applications.*", "auditLog.*", "auditLogs.*", "dashboard.*", "dashboards.*", "org.*", "solution.*", "solutions.*", "solutionUser.*", "solutionUsers.*", "applications.get", "applications.post", "auditLog.get", "auditLogs.get", "dashboard.patch", "dashboard.delete", "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", "solutionUser.get", "solutionUser.patch", "solutionUser.delete", "solutionUsers.get", "solutionUsers.post", "solution.get", "solution.patch", "solution.delete", "solutions.get", "solutions.post" ] } ] }, { "type": "string", "enum": [ "all.User", "all.User.read", "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 } }, "anyOf": [ { "required": [ "email", "firstName", "lastName", "password", "acceptTerms" ] }, { "required": [ "email", "firstName", "lastName", "oauth", "acceptTerms" ] } ] }