{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "email": { "type": "string", "format": "email", "maxLength": 1024 }, "firstName": { "type": "string", "minLength": 1, "maxLength": 1024 }, "lastName": { "type": "string", "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": { "enum": [ "github" ] }, "accessToken": { "type": "string", "minLength": 1, "maxLength": 1024 } }, "required": [ "service", "accessToken" ] }, "password": { "type": "string", "minLength": 12, "maxLength": 2048, "pattern": "^(?=.*[A-Z])(?=.*[^A-Za-z0-9])(?=.*[0-9])(?=.*[a-z]).{12,}$" }, "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.Application.cli", "all.Device", "all.Device.read", "application.*", "applicationApiToken.*", "applicationApiTokens.*", "applicationCertificate.*", "applicationCertificates.*", "applicationCertificateAuthority.*", "applicationCertificateAuthorities.*", "applicationDashboards.*", "applicationDashboard.*", "applicationKey.*", "applicationKeys.*", "credential.*", "credentials.*", "data.*", "dataTable.*", "dataTables.*", "dataTableRow.*", "dataTableRows.*", "device.*", "deviceRecipe.*", "deviceRecipes.*", "devices.*", "edgeDeployment.*", "edgeDeployments.*", "embeddedDeployment.*", "embeddedDeployments.*", "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.*", "resourceJobs.*", "resourceJob.*", "notebook.*", "notebooks.*", "webhook.*", "webhooks.*", "application.applyTemplate", "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.payloadCountsBreakdown", "application.deviceCounts", "application.notebookMinuteCounts", "application.search", "application.importLogs", "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", "applicationDashboard.get", "applicationDashboard.patch", "applicationDashboard.sendReport", "applicationDashboard.delete", "applicationDashboards.get", "applicationDashboards.post", "applicationKey.delete", "applicationKey.get", "applicationKey.patch", "applicationKeys.get", "applicationKeys.post", "credential.get", "credential.linkedResources", "credential.patch", "credential.delete", "credentials.get", "credentials.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.agentLogs", "device.commandStream", "device.debug", "device.delete", "device.export", "device.get", "device.getCommand", "device.getCompositeState", "device.getLogEntries", "device.getState", "device.patch", "device.payloadCounts", "device.payloadCountsBreakdown", "device.removeData", "device.sendCommand", "device.sendState", "device.setConnectionStatus", "device.stateStream", "deviceRecipe.bulkCreate", "deviceRecipe.delete", "deviceRecipe.get", "deviceRecipe.patch", "deviceRecipes.get", "deviceRecipes.post", "devices.attributeNames", "devices.patch", "devices.delete", "devices.removeData", "devices.detailedSummary", "devices.deviceNames", "devices.export", "devices.get", "devices.getCompositeState", "devices.historicalImport", "devices.payloadCounts", "devices.post", "devices.sendCommand", "devices.tagKeys", "devices.tagValues", "edgeDeployment.get", "edgeDeployments.get", "edgeDeployments.release", "edgeDeployments.remove", "edgeDeployments.replace", "embeddedDeployment.get", "embeddedDeployments.get", "embeddedDeployments.release", "embeddedDeployments.remove", "embeddedDeployments.replace", "embeddedDeployments.export", "event.delete", "event.get", "event.patch", "events.delete", "events.detailedSummary", "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.clearStorageEntries", "flow.debug", "flow.delete", "flow.errors", "flow.get", "flow.getStorageEntries", "flow.log", "flow.patch", "flow.pressVirtualButton", "flow.setStorageEntry", "flow.getStorageEntriesMetadata", "flow.stats", "flows.get", "flows.getByVersion", "flows.import", "flows.palette", "flows.post", "flowVersion.delete", "flowVersion.debug", "flowVersion.errors", "flowVersion.get", "flowVersion.log", "flowVersion.patch", "flowVersion.stats", "flowVersions.delete", "flowVersions.get", "flowVersions.post", "integration.delete", "integration.get", "integration.patch", "integrations.get", "integrations.post", "notebook.delete", "notebook.execute", "notebook.get", "notebook.logs", "notebook.notebookMinuteCounts", "notebook.patch", "notebook.requestInputDataExport", "notebook.upload", "notebooks.get", "notebooks.post", "resourceJob.get", "resourceJob.logs", "resourceJob.patch", "resourceJob.delete", "resourceJob.execute", "resourceJob.cancelExecution", "resourceJobs.get", "resourceJobs.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", "applications.periodSummaries", "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.payloadCountsBreakdown", "org.deviceCounts", "org.notebookMinuteCounts", "org.invoices", "org.currentCard", "org.transferResources" ] } ] }, { "type": "string", "enum": [ "all.Instance", "all.Instance.read", "instance.*", "instance.get", "instance.patch", "instance.historicalSummaries", "instance.generateReport", "instance.payloadCountsBreakdown", "instance.deviceCounts", "instance.notebookMinuteCounts", "instanceOrg.*", "instanceOrg.get", "instanceOrg.patch", "instanceOrg.delete", "instanceOrg.payloadCountsBreakdown", "instanceOrg.deviceCounts", "instanceOrg.notebookMinuteCounts", "instanceOrg.convertToEnterprise", "instanceOrgs.*", "instanceOrgs.get", "instanceOrgs.post", "instanceMember.*", "instanceMember.get", "instanceMember.patch", "instanceMember.delete", "instanceMembers.*", "instanceMembers.get", "instanceMembers.post", "instanceOrgMember.*", "instanceOrgMember.get", "instanceOrgMember.patch", "instanceOrgMember.delete", "instanceOrgMembers.*", "instanceOrgMembers.get", "instanceOrgMembers.post", "instanceOrgInvite.*", "instanceOrgInvite.get", "instanceOrgInvite.delete", "instanceOrgInvite.resendInvite", "instanceOrgInvites.*", "instanceOrgInvites.get", "instanceOrgInvites.post", "instanceApiTokens.*", "instanceApiTokens.get", "instanceApiTokens.post", "instanceApiToken.*", "instanceApiToken.get", "instanceApiToken.patch", "instanceApiToken.delete", "instanceCustomNodes.*", "instanceCustomNodes.get", "instanceCustomNodes.post", "instanceCustomNode.*", "instanceCustomNode.get", "instanceCustomNode.patch", "instanceCustomNode.delete", "instanceCustomNode.errors", "instanceCustomNode.stats", "instanceSandbox.*", "instanceSandbox.get", "instanceSandbox.delete", "instanceSandbox.undelete", "instanceSandboxes.*", "instanceSandboxes.get", "instanceAuditLog.*", "instanceAuditLog.get", "instanceAuditLogs.*", "instanceAuditLogs.get" ] }, { "type": "string", "enum": [ "all.User", "all.User.read", "all.User.cli", "userApiToken.*", "userApiToken.get", "userApiToken.patch", "userApiToken.delete", "userApiTokens.*", "userApiTokens.get", "userApiTokens.post", "applicationTemplate.*", "applicationTemplate.get", "applicationTemplates.*", "applicationTemplates.get", "applicationTemplates.getCategories", "applicationTemplates.getUniqueKeywords", "instances.*", "instances.get", "me.*", "me.get", "me.patch", "me.delete", "me.verifyEmail", "me.changePassword", "me.generateTwoFactorAuth", "me.enableTwoFactorAuth", "me.disableTwoFactorAuth", "me.disconnectGithub", "me.connectGithub", "me.addRecentItem", "me.fetchRecentItems", "me.payloadCounts", "me.payloadCountsBreakdown", "me.deviceCounts", "me.notebookMinuteCounts", "me.transferResources", "me.invite", "me.invites", "me.respondToInvite", "orgs.*", "orgs.get", "orgs.post" ] } ] } }, "tokenTTL": { "type": "integer", "minimum": 0 }, "inviteToken": { "type": "string", "minLength": 1 }, "acceptInvite": { "type": "boolean" } }, "anyOf": [ { "required": [ "email", "firstName", "lastName", "password", "acceptTerms" ] }, { "required": [ "email", "firstName", "lastName", "oauth", "acceptTerms" ] } ] }