{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "accessToken": {
            "type": "string",
            "minLength": 1
        },
        "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": [
        "accessToken"
    ],
    "additionalProperties": false
}